当前位置:妙知谷 >

游戏数码 >电脑 >

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

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

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

操作方法

(01)第一步,将keil 4安装到PC上,建个工程,编写串口程序(相信懂单片机的小伙伴都会的,这是基本知识),在串口初始化程序中,设置好波特率(可以理解为单位时间内传输码元符号的个数,要与比特率区分开),打开串口中断和总中断;

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

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

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

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

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

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

特别提示

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

希望能帮到小伙伴们,大家一起努力!

  • 文章版权属于文章作者所有,转载请注明 https://miaozhigu.com/zh-sg/sm/diannao/evldrj.html