标题: 单片机+0.96oled滚动数据刷新导致无法正常显示 [打印本页]

作者: socket    时间: 2022-11-12 23:12
标题: 单片机+0.96oled滚动数据刷新导致无法正常显示
每两秒获取一次温湿度数据,温湿度数据是要求设置滚动,如何解决数据滚屏无法正常显示


单片机源程序如下:
while(1)
        {
        
               
                DHT11_GetVal(dht_buf);
               
                sprintf((char*)buf,":%d",dht_buf[2]);
                OLED_ShowString(36,0,buf,16);
               
                sprintf((char*)buf,":%d%%RH",dht_buf[0]);
                OLED_ShowString(36,2,buf,16);
               
                OLED_WR_Byte(0x2E,OLED_CMD);        //关闭滚动
                OLED_WR_Byte(0x27,OLED_CMD);        //水平向左或者右滚动 26/27
                OLED_WR_Byte(0x00,OLED_CMD);        //虚拟字节
                OLED_WR_Byte(0x00,OLED_CMD);        //起始页 0
                OLED_WR_Byte(0x07,OLED_CMD);        //滚动时间间隔
                OLED_WR_Byte(0x07,OLED_CMD);        //终止页 7
                OLED_WR_Byte(0x00,OLED_CMD);        //虚拟字节
                OLED_WR_Byte(0xFF,OLED_CMD);        //虚拟字节
                OLED_WR_Byte(0x2F,OLED_CMD);        //开启滚动
               
               
                //延时2s
                for(int i = 0;i < 4; i++)
                {
                        delay_ms(500);
                }
        }




作者: 13205495918    时间: 2022-11-13 08:46
我莫名感觉是延时的问题
作者: 暴龙战士电头    时间: 2022-11-14 11:17
原先显示的字体没有清除吧,重叠了
作者: yzwzfyz    时间: 2022-11-14 15:52
教你一个笨方法:
显示前,先清屏,就当是才开机。
然后再显示。
作者: 188610329    时间: 2022-11-14 20:52
不要用自带的滚屏功能, 那个不适合,
你在自己 BUF里面滚, 然后不停的重新写屏,就不会有这问题了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1