多语言展示
当前在线:448今日阅读:2今日分享:38

单片机和上位机利用串口进行通讯

大家在学习单片机时,上位机编写好程序后,生成.HEX文件,下载到下位机进行运行,一般情况下,都是单机版,就是说只是单片机和部分外设进行独立的工作。今天让我来分享一下,单片机和上位机利用串口,进行实时通讯的小经验。
工具/原料
1

电脑+单片机开发板

2

Keil uVision 4,

3

串口助手

方法/步骤
2

第二步,编写串口中断程序,串口中断号是interrupt 4,(这个千万别弄错了),在中断程序中,要定义一个接收从上位机PC端发过来的字符类型为:unsigned char ,并将单片机接收到的数据再返回到PC机上,在串口助手上显示出来;

3

第三步,利用下载工具(相信大家都有的)下载编译好的.hex文件到单片机中,在PC端打开串口助手,在“我的电脑”-->'设备管理器'中找到对应的串口,设置好波特率,数据位数,停止位,校验位,设置好以后,在“字符输入框”中,输入数字或者字符,点击“发送”,此时,会在接收区看到接收到的字符。

4

第四步,如果你在接收区看到的是乱码,一定是你波特率没有设置成一致,此时要检查串口初始化的程序,一般情况下,设置为4800Bps或者9600Bps,是没有问题的,过高(115200Bps)可能会出现问题,误差越小越好;

5

总结:1.将keil 4安装到PC上,建个工程,编写串口程序(相信懂单片机的小伙伴都会的,这是基本知识),在串口初始化程序中,设置好波特率(可以理解为单位时间内传输码元符号的个数,要与比特率区分开),打开串口中断和总中断;2.编写串口中断程序,串口中断号是interrupt 4,(这个千万别弄错了),在中断程序中,要定义一个接收从上位机PC端发过来的字符类型为:unsigned char ,并将单片机接收到的数据再返回到PC机上,在串口助手上显示出来;3.利用下载工具(相信大家都有的)下载编译好的.hex文件到单片机中,在PC端打开串口助手,在“我的电脑”-->'设备管理器'中找到对应的串口,设置好波特率,数据位数,停止位,校验位,设置好以后,在“字符输入框”中,输入数字或者字符,点击“发送”,此时,会在接收区看到接收到的字符。4.如果你在接收区看到的是乱码,一定是你波特率没有设置成一致,此时要检查串口初始化的程序,一般情况下,设置为4800Bps或者9600Bps,是没有问题的,过高(115200Bps)可能会出现问题,误差越小越好;

注意事项

在设置波特率的程序中,很可能会出现乱码,此时可以尝试将波特率设置的低一些,再尝试。

推荐信息