找回密码
 立即注册

QQ登录

只需一步,快速开始

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

电脑向MSP430单片机如何发送数据?

[复制链接]
跳转到指定楼层
楼主
板子:msp430f5529lp单片机
我想用电脑通过串口给430发送字符串,然后再在oled显示屏上显示出来,我的思路就是在串口中断里给一个变量,然后把收缓存区的值赋给这个变量,然后调用OLED相应语句在中断把这个变量显示出来,电脑发一次,显示一次,但是我这样实施的时候,却出现了问题,我开始是用ShowNum来显示的,这个是显示数字的,但是我发现我发送什么值他都只能显示这个值的ACSI码值,我发字符,他显示ACSI码还说的过去,我发数字,他却显示别的数字,我估计是根据ACSI码什么换算过去的,反正显示出来的数字和我发出去的数字不一样,然后我用ShowString函数来显示变量,他可以显示我发的字符和对应的数字,并且是正确的,但是问题在于他每次只能接收一位,什么意思呢,就比如我在电脑发送端发送128,他只能显示1,之后我把发送框里的1删掉,也就是发送28,他就会显示2,而且是在之前1显示的旁边显示2,就位置是对的,如果我一个一个的发,oled可以显示128,同样的字符也是这样,也必须一个一个发,每次都是一个字节,我开始还尝试过把变量定义为数组型,但依旧没有什么改变,徒劳无功,希望可以得到解决办法,感谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:744809 发表于 2023-7-26 08:38 | 只看该作者
把代码贴出来看看,串口中断里接收数据,一字节一字节接收,存放在数组中,可以用空闲中断或者帧尾来识别有没有接收完毕。定义一个接收完毕变量,一旦接收完了就赋值成1,在while循环中一直判断该变量是否为1,为1则将接收到的数据显示出来。
回复

使用道具 举报

板凳
ID:1038977 发表于 2023-7-26 09:50 | 只看该作者
123156fsadf 发表于 2023-7-26 08:38
把代码贴出来看看,串口中断里接收数据,一字节一字节接收,存放在数组中,可以用空闲中断或者帧尾来识别有 ...

我这样应该是用帧尾判断吧,是不是输入数据的时候在数据的最后要加上\0啊,我加了或者没加都没有显示,直接发送\0也没有反应

回复

使用道具 举报

地板
ID:301191 发表于 2023-7-27 01:31 | 只看该作者
顶一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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