void OLED_DrawPoint( u8 x, u8 y ); void OLED_ClearPoint( u8 x, u8 y ); void OLED_ShowChar( u8 x, u8 y, u8 ch, u8 size ); void OLED_ShowString( u8 x, u8 y, u8 *str, u8 size ); #endif oled.c 文件 #include "oled.h" #include "delay.h" #include "OLED_Font...
[chr1][i];} //调用1608字体 else if(size1==24) {temp=asc2_2412[chr1][i];} //调用2412字体 else return; for(m=0;m<8;m++) //写入数据 { if(temp&0x80)OLED_DrawPoint(x,y); else OLED_ClearPoint(x,y); temp<<=1; y++; if((y-y0)==size1) { y=y0; x++; break; } }...
//画点 //x:0~127 //y:0~63 void OLED_DrawPoint(u8 x,u8 y) { u8 i,m,n; i=y/8; m=y%8; n=1<<m; OLED_GRAM[x][i]|=n; } //清除一个点 //x:0~127 //y:0~63 void OLED_ClearPoint(u8 x,u8 y) { u8 i,m,n; i=y/8; m=y%8; n=1<<m; OLED_GRAM[x][i]=...
{ if(temp&0x80)OLED_DrawPoint(x,y); else OLED_ClearPoint(x,y); temp<<=1; y++; if((y-y0)==size1) { y=y0; x++; break; } } } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ...
本次实验的目标是把I2C相关的搞定,再尝试驱动SSD1306 0.96寸OLED屏幕以及BME280传感器,最后将传感器读到的数据和实时时间显示在屏幕上。 2,硬件部分 2.1 I2C协议简介 I2C 通讯协议(Inter-Integrated Circuit)是由Philips公司开发的,由于它引脚少,硬件实现简单,可扩展性强, 不需要USART、CAN等通讯协议的外部收发设备,...
oled显示屏和其他显示屏类似,不过他只有0.96英寸,屏幕较小,但是使用起来比较方便。有二种驱动方式,分别为IIC,和SPI驱动。驱动方式比较简单。IIC驱动的话只需要4根线,电源,地线,数据线,和时钟线。 二.IIC协议驱动oled显示屏 我这里使用的是IIC协议驱动oled显示屏,如果想了解IIC协议的可以看博主这篇文章:IIC协议详解...
(uint8_t X, uint8_t Y);16voidFunAppOledClearPoint(uint8_t X, uint8_t Y);17voidFunAppOledDrawLine(uint8_t X1, uint8_t Y1, uint8_t X2, uint8_t Y2);18voidFunAppOledDrawCircle(uint8_t X, uint8_t Y, uint8_t R);19voidFunAppOledShowChar(uint8_t X, uint8_t Y, uint...
void OLED_ClearPoint(u8 x,u8 y); void OLED_ColorTurn(u8 i); void OLED_DisplayTurn(u8 i); void OLED_I2C_Start(void); void OLED_I2C_Stop(void); void OLED_I2C_WaitAck(void); void OLED_Send_Byte(u8 dat); void OLED_WR_Byte(u8 dat,u8 mode); ...