我在做基于HC6800的51单片机上,写串口通信程序遇到了许多坑。
一个大坑:为什么HC6800上U转串口不能发送数据。
因为我们向HC6800烧程序都是使用图1所示的软件,所以我想当然地认为可以直接通过HC6800上的U转串进行串口通信,而我的同学信誓旦旦地告诉我可以。坑爹。并且这个软件好像也在提示可以用直接用U转串,进行串口通信(见图2)。但是当我打开串口调试助手的时候(如图3),却发现单片机掉电了(如图4)。其实HC6800上有另一个串口的,我们只要把连接图5黄框处串口。并且在图4中的6处,改变短路帽的接法,使之从USB下载模式转到串口通信模式(请仔细比对图4和图6)。
图1 烧录软件
图2 软件的暗示
图3 打开串口调试助手
图4 单片机掉电
图5 黄框是另一个串口
图6 串口短路帽正确的接法
在完成了以上步骤之后,基本上我们就完成了串口通信的硬件连接准备。再来设置一下软件的配置。
下面的设置以波特率2400为示例
1、设置单片机内的波特率
2、设置串口调试助手的波特率
3、设置驱动中的波特率
注意:
服务器和客户端中波特率一定要一致,不然就收不到消息或收到错误的消息。