OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2912|回复: 9

Oled显示蓝牙接收的数据

[复制链接]

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-3
在线时间
4 小时
发表于 2019-4-11 13:19:55 | 显示全部楼层 |阅读模式
10金钱
我用STM32F103ZET6单片机串口接蓝牙接收电脑传的数据,然后在OLED上显示,可是显示数据的末尾总有一个白框,我的程序是从原子哥的蓝牙程序中截取的,求问大佬们如何解决。
while(1)
         {
                        if(sendmask==1)                                        //定时发送
                        {
                                OLED_Clear();  //清屏
                                sprintf((char*)sendbuf,"ALIENTEK HC05 %d\r\n",sendcnt); //sendcnt为参量表,把ALIENTEK HC05送到sendbuf中
                                OLED_ShowString(8,0,"send:");
                          OLED_ShowString(8,2,"ALIENTEK HC05");        //显示发送数据       
                                u3_printf("ALIENTEK HC05 %d\r\n",sendcnt);                //发送到蓝牙模块
                                sendmask=!sendmask;       
                        }                     
                if(USART3_RX_STA&0X8000)                        //接收到一次数据了
                {
                        OLED_Clear();  //清屏
                        reclen=USART3_RX_STA&0X7FFF;        //得到数据长度
                  USART3_RX_BUF[reclen]=0;                 //加入结束符
                        OLED_ShowString(8,0,"receive:");
                        OLED_ShowString(8,2,USART3_RX_BUF);//显示接收到的数据
                        USART3_RX_STA=0;         
                }                                                                                                                                                                                
         }

Oled显示问题

Oled显示问题

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2019-4-11 14:33:19 | 显示全部楼层
是不是最后有个结束符的原因?帮顶
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2019-4-11 14:59:39 | 显示全部楼层
有可能是楼上所说的原因
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-3
在线时间
4 小时
 楼主| 发表于 2019-4-11 17:11:35 | 显示全部楼层
wangmingwei093 发表于 2019-4-11 14:33
是不是最后有个结束符的原因?帮顶

我把结束符去掉还是有,我感觉是串口发送的数据格式和单片机接收显示的不一致,或者是白框是校验码。
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-3
在线时间
4 小时
 楼主| 发表于 2019-4-11 17:14:53 | 显示全部楼层
peng1554 发表于 2019-4-11 14:59
有可能是楼上所说的原因

我试过了,还是有。
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-3
在线时间
4 小时
 楼主| 发表于 2019-4-11 17:15:42 | 显示全部楼层
求教原子哥。
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2019-4-15 08:40:16 | 显示全部楼层
kuaile123 发表于 2019-4-11 17:14
我试过了,还是有。

你可以调试一下,在线仿真一下看一下USART3_RX_BUF这个buffer里的数据都有什么?不就清楚了吗?
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2019-4-15 08:41:10 | 显示全部楼层
你可以调试一下,在线仿真一下看一下USART3_RX_BUF这个buffer里的数据都有什么?不就清楚了吗?
回复

使用道具 举报

0

主题

295

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
金钱
335
注册时间
2019-3-26
在线时间
9 小时
发表于 2019-4-15 09:05:59 | 显示全部楼层
感谢分享!
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-3
在线时间
4 小时
 楼主| 发表于 2019-4-18 16:36:08 | 显示全部楼层
wangmingwei093 发表于 2019-4-15 08:41
你可以调试一下,在线仿真一下看一下USART3_RX_BUF这个buffer里的数据都有什么?不就清楚了吗?

仿真没仿真出来
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 01:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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