我正在尝试通过串行连接(GPIO UART引脚)在Raspberry Pi 2(raspian wheezy)和STM32F4板之间发送/接收数据。我在链接中使用示例代码:http://www.raspberry-projects.com/pi/programming-in-c/uart-serial-port/using-the-uart。
当我将电路板上的TX和RX引脚连接在一起时,它可以工作。但是,当我通过模块USB-TTL PL2303将RPI连接到我的笔记本电脑并使用超级终端查看结果时,收到的字符是垃圾字符。我不明白为什么。我错过了什么吗? 你能给我一些我可以寻找的建议吗?谢谢!
答案 0 :(得分:0)
您很可能使用了错误的波特率。它应该是115200(115200-8-N-1)(你可以使用else,但是你需要将两个端点设置为相同的波特)。使用stty
检查串行连接的波特率 stty -F /dev/ttyX
或setserial。如果波特率错误,您可以尝试作者所说的:
尝试使用较慢的BAUD速率(或单个0xFF字节,只有 开始位低)并查看它是否有效。我们使用115k2波特时遇到了问题 我们的微控制器与RPi通信的速率可能达到 113636波特或119047波特。 113636波特具有最低的误差范围 我们使用它,微控制器接收来自RPi的TX 工作得很好。然而,当传输到RPi时,没有任何事情发生过 接收。更改微控制器以使用119047波特导致RX到 工作