找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1462|回复: 4
打印 上一主题 下一主题
收起左侧

单片机+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);
                }
        }



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:908826 发表于 2022-11-13 08:46 | 只看该作者
我莫名感觉是延时的问题
回复

使用道具 举报

板凳
ID:1051860 发表于 2022-11-14 11:17 | 只看该作者
原先显示的字体没有清除吧,重叠了
回复

使用道具 举报

地板
ID:123289 发表于 2022-11-14 15:52 | 只看该作者
教你一个笨方法:
显示前,先清屏,就当是才开机。
然后再显示。
回复

使用道具 举报

5#
ID:624769 发表于 2022-11-14 20:52 | 只看该作者
不要用自带的滚屏功能, 那个不适合,
你在自己 BUF里面滚, 然后不停的重新写屏,就不会有这问题了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表