标题: 单片机串口坏了吗?我是要奔溃了 [打印本页]

作者: 一念逐光    时间: 2018-9-12 17:58
标题: 单片机串口坏了吗?我是要奔溃了

唯一的区别就是 前面我定义a[0]=1;后面定义a[0]=‘1’;

为什么我定义成 a[0]=‘1’  PC端就只能接受00?????  我的天啊??
求大神告知-----


作者: 许大妈    时间: 2018-9-12 19:01
波特率不对应
作者: devcang    时间: 2018-9-12 20:40

什么单片机,波特率什么的,是否正确呢

作者: chlph    时间: 2018-9-13 11:17
把 unsigned char a[6] 改成char a[6];试试?

作者: 冰纯    时间: 2018-9-13 13:13
串口助手中有两种通信模式,文本和HEX,换一个试试
作者: 470061602    时间: 2018-9-13 13:13
1 代表 十六进制或者十进制的1. '1'是ASCII码. 十六进制的表示是 '1'=0x31 .   大小的区别.  另外一般上位机的串口接收软件.  解码的时候,是进行ASCII解析的. 对于超出ASCII码表示范围的 一律不显示 或者显示0.     为了发送和显示16进制的数据, 上位机的串口软件,都有一个 设置的,类似"十六进制显示"
作者: yang阳    时间: 2018-9-13 13:18
从三个角度去考虑:
作者: yang阳    时间: 2018-9-13 13:20
从三个角度去考虑:  一,波特率是否对应 二,两次字节发送之间delay的时间问题,可调长调短进行实验 三,将串口中断关闭,然后配置串口助手那里hex模式和字符模式切换,看看能否收到正确信息
作者: phang    时间: 2018-9-13 13:24
还有检查下中断程序有没有问题,RI TI要分别判断,




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