单片机通过串口,依次发送10单字节数据(0x1~0x10)给PC,中间使用MAX3232作电平转换,PC端使用串口调试助手接收,串口设置为速率9600,1位起始位,1位停止位,无奇偶校验,结果PC端收到的据却总为0xFE或0xFF。
使用示波器观察TTL电平可以截取到3.3V的波形,可以读到起始位、数据位、停止位,其中数据位可以读出0x1~0x10的数据,即数据已经发送出去且正确。
用示波器继续观察转换过的11V左右的232电平,使用反逻辑也可以读到正确的起始位、数据位、停止位。
这个表明单片机已经将数据正确发送了出去,且经MAX3232转换的直接发给PC的232电平也为正确,但是使用PC上的串口调试助手接收到的数据为什么总是不正确呢?(另使用BUSHOUD在PC上抓COM上的数据包,与串口调试助手显示的数据一致)
感觉问题很奇怪,还请大神帮忙解析下,不甚感激!
|