[STM32F1] 不知道问题出在那里

[复制链接]
1056|31
 楼主| stly 发表于 2020-7-25 22:27 | 显示全部楼层
没有改动什么,就是想加校验位来着,后来发现的这个问题,就是用仿真器看到数据写到串口的发送寄存器了,但是管脚没有数据输出。
gongche 发表于 2020-7-25 22:30 | 显示全部楼层
仿真器看到数据写到串口发送寄存器了?
zhuww 发表于 2020-7-25 22:36 | 显示全部楼层
寄存器的值不是你软件写进去的吗,你如果用示波器打不到波形,就证明没发
 楼主| stly 发表于 2020-7-25 22:39 | 显示全部楼层
现在初步估计是编译器的bug,因为从新编译两次,不改动任何地方,有时候就好了,新出的芯片,估计编译器完全支持的很好还要些时候。
zyf部长 发表于 2020-7-25 22:44 | 显示全部楼层
即使编译器有BUG,也不可能2次对同样的程序编译产生不同的结果。
 楼主| stly 发表于 2020-7-25 22:47 | 显示全部楼层
从理论上讲是这个样子的,但是我遇到了不同的情况。
ousj 发表于 2020-7-25 22:49 | 显示全部楼层
哈哈,理论与现实不符,你应该怀疑哪个呢?
guoyt 发表于 2020-7-25 23:00 | 显示全部楼层
应该找找自己的原因,这个问题应该是你使用不当造成的,我的串口都好好的,STM32的芯片,RBT6,VBT6,VET6,ZET6,都试过!
happy_10 发表于 2020-7-25 23:03 | 显示全部楼层
我数据位是按照有校验数据位9位设置  但是出现这样的情况

如果PC端设置为: 数据位=8,停止位=1,奇偶检验=偶
则STM32的设置为:数据位=9,停止位=1,奇偶检验=偶

如果PC端设置为: 数据位=8,停止位=1,奇偶检验=奇
则STM32的设置为:数据位=9,停止位=1,奇偶检验=偶

这两种情况下数据接收都正确  如果单片机设置为奇校验,情况和上面也一样。但是设置无校验  确实是乱码的,那么说明校验位是起作用了的,但是测试结果是奇偶校验没有区别  收发数据都正常   
songqian17 发表于 2020-7-25 23:06 | 显示全部楼层

长见识了,原来还算在数据位中啊
juventus9554 发表于 2020-7-25 23:08 | 显示全部楼层

发送接收要保持格式一致
 楼主| stly 发表于 2020-7-25 23:11 | 显示全部楼层

明白了,多谢大家讨论这么多哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部