STM32F1xx外设IIC驱动四线OLED

2025-05-09 18:14:09

1、打开Keil uVision5,建立STM32F1xx工程。Toolchain : MDK-ARM Professional Version: 5.30.0.0STM32F1xx支持包 :Keil.STM32F1xx_DFP.2.3.0.pack

STM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLED

4、写命令。staticvoidvIIC_WriteCmd(u8wCmd){vIIC_Start();vIIC_WriteByte(0x78);vIIC_WaitAck();vIIC_WriteByte(0x00);vIIC_WaitAck();vIIC_WriteByte(wCmd);vIIC_WaitAck();vIIC_Stop();}写数据。staticvoidvIIC_WriteData(u8wDat){vIIC_Start();vIIC_WriteByte(0x78);vIIC_WaitAck();vIIC_WriteByte(0x40);vIIC_WaitAck();vIIC_WriteByte(wDat);vIIC_WaitAck();vIIC_Stop();}

STM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLED

5、画点函数staticvoidvOLED_DrawPoint(u8x,u8y,u8mode){u8pos=0,bx=0,temp=0;if((x>(OLED_XWIDTH_PHYSICS-1))||(y>(OLED_YHEIGHT_PHYSICS-1)))//Validsitereturn;pos=(OLED_PAGE_SIZE-1)-(y/OLED_PAGE_SIZE);bx=y%OLED_PAGE_SIZE;temp=1<<((OLED_PAGE_SIZE-1)-bx);if(mode)OLED_GRAM[x][pos]|=temp;elseOLED_GRAM[x][pos]&=~temp;}填充或者清空矩形voidvOLED_FillClearRectangle(u8x1,u8y1,u8x2,u8y2,u8mode){u8x,y;for(x=x1;x<=x2;x++){for(y=y1;y<=y2;y++)vOLED_DrawPoint(x,y,mode);}}

STM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLEDSTM32F1xx外设IIC驱动四线OLED
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢