STM32串口通信

[复制链接]
6310|9
 楼主| btiger2000 发表于 2010-12-22 11:11 | 显示全部楼层 |阅读模式
stm32F103 通过串口与计算机通信,开始一直没有问题,程序调试完成后,把计算机换成了研祥的平板电脑(ARM9)通信也没问题,上整机调试,开始也没问题,后来就有通信不上的情况出现,重新接计算机,通信正常;怀疑是研祥的平板电脑有问题,量计算机串口电平为-9V左右,研祥平板电脑串口-5V,于是怀疑是研祥平板电脑串口抗干扰的问题(整个设备工作在干扰比较大的场合)。
    可是最近又发现计算机通信也不正常,用单步调试,发现STM32接收到数据都不对,而且,我的程序还没有执行发送函数,计算机却収到了数据,但是都是不对的数据。把串口线插拔一下,通信就正常了。 考虑前期调试时,发现在STM32下载程序是会发送很多乱码数据,计算机程序每次发送前都清一次发送/接受RAM,但是现象依旧。
     哪位遇到了同样的我问题,给解释下?谢谢了!!!郁闷着呢!!!
香水城 发表于 2010-12-22 12:37 | 显示全部楼层
瞎猜:电平匹配问题?插口接触问题?波特率匹配问题?干扰问题(可能性较小)?
airwill 发表于 2010-12-22 13:14 | 显示全部楼层
楼上高见, 基本涵盖了所有可能的问题。
另外是否还有软件配置问题呢? 运行中的配置被改变了?
 楼主| btiger2000 发表于 2010-12-22 15:54 | 显示全部楼层
板子上用的MAX232,电压-9V跟计算机一样,应该不是匹配问题;接口接触问题也排除了。串口初始化直接用的ST的库,波特率9600,应该也不会错。换了根屏蔽线,还是没有解决!那得问题呢
airwill 发表于 2010-12-22 19:52 | 显示全部楼层
直接用的ST的库, 也未必就没有问题了. 因为还有 UART 的时钟问题, 那个是在另外的库函数设置的. 可以用示波器看看波形呢
IJK 发表于 2010-12-23 09:32 | 显示全部楼层
或许是硬件问题,可以试着把计算机或者研祥平板电脑的地 跟STM32板子地 直接连起来,看看有没有效果
 楼主| btiger2000 发表于 2010-12-23 12:22 | 显示全部楼层
把MAX232换了一片,目前工作良好,再观察一下是不是真的解决了!
jgphu 发表于 2011-2-23 16:34 | 显示全部楼层
难道是收发器的问题
evoc20 发表于 2014-8-14 17:19 | 显示全部楼层
难道如楼上所说 插口接触问题
xiaoguagau_123 发表于 2014-10-9 17:05 | 显示全部楼层
前段时间也在弄串口通信的问题,值得注意的是,波特率误差的问题,这个误差用在实验没问题,但是用在工业上就得注意了,比如电机在工作的时候就有可能导致通信失败,出现卡机
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

1178

帖子

6

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