emWin在STM32上移植OLED驱动问题(2)文字显示重叠的问题
2019-04-24 11:00
537 查看
采用emwin正常显示文本时,
GUI_SetTextMode(GUI_TEXTMODE_NORMAL);
发现OLED的显示中,文字显示都是重叠
发现还是平底层驱动的问题,打点函数有问题,直接采用
C4_Pixel[0]=C4_Pixel[0]|(c<<4); graysclale为0,该函数不起作用了,(汗~~~)
这种错误也会犯
增加清除像素,OK
切记要严谨!!!!
void Set_Dot(u16 x,u16 y,u16 grayscale) { unsigned char C4_Pixel[2] = {0}, x1 = x/4, y1 = y,c = grayscale& 0x0F; u16 cs = CS1; if(x>=256||y>=128) return ; //超过了范围,直接返回 if(y >= 64)//上半屏 { y1 = y - 64; cs = CS2; } Set_Column_Address(OLED_Shift+x1, OLED_Shift+x1,cs); //设置列坐标 Set_Row_Address(y1,y1,cs); //设置行坐标 Set_Read_RAM(cs); //写读指令 C4_Pixel[0]=OLED_RD_Byte(cs);//空读 C4_Pixel[0]=OLED_RD_Byte(cs); C4_Pixel[1]=OLED_RD_Byte(cs); switch (x%4) { case 0: C4_Pixel[0]=C4_Pixel[0]&(0x0F);//需要先清除当前像素点,再写入 C4_Pixel[0]=C4_Pixel[0]|(c<<4); break; case 1: C4_Pixel[0]=C4_Pixel[0]&(0xF0); C4_Pixel[0]=C4_Pixel[0]|c; break; case 2: C4_Pixel[1]=C4_Pixel[1]&(0x0F); C4_Pixel[1]=C4_Pixel[1]|(c<<4); break; case 3: C4_Pixel[1]=C4_Pixel[1]&(0x0F); C4_Pixel[1]=C4_Pixel[1]|c; } //列写回 //Set_Column_Address(OLED_Shift+x1,OLED_Shift+x1,cs); //Set_Row_Address(y1,y1,cs); Set_Write_RAM(cs); OLED_WR_Byte(C4_Pixel[0],OLED_DATA,cs); OLED_WR_Byte(C4_Pixel[1],OLED_DATA,cs); }
相关文章推荐
- emWin在STM32上移植OLED驱动问题(3)edit显示,数字显示为被光标覆盖光标为全黑色
- STM32 USB转串口驱动移植到SylixOS中遇到的问题总结
- STM32的FSMC总线驱动ili9341,掉电重启无法正常显示的问题
- STM32 USB转串口驱动移植到SylixOS中遇到的问题总结
- qt程序移植后不能显示文字问题
- STM32 USB转串口驱动移植到SylixOS中遇到的问题总结
- ARM-Linux触摸屏驱动移植--问题总结
- css控制 div文字超出后显示问题
- RT-Thread-v2.0.0移植到STM32及驱动LCD和测温
- 关于LWIP_1.4.1在STM32平台移植后大数据包ping不通问题
- iOS6,iOS7文字长度计算问题,可变长文字的自动适配显示
- textview显示文字不全问题
- ext移植时显示问题
- android的wifi网卡移植详细过程已经通用驱动的问题
- STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和不能接收数据问题讨论
- Linux移植之驱动编译出现的问题
- IOS UITableView 图片文字重叠问题
- Android 关于EditText文字的显示问题 和属性
- ios6, ios7上文字长度计算问题, 可变长文字的自动适配显示
- mini6410_lcd驱动移植,字体模糊重影问题