pic单片机串口接收帧错误导致数据异常(pic单片机串口)

交换机 2024-10-25 电子科技 44 views

扫一扫用手机浏览

文章目录 [+]
PIC单片机中的串口是232还是485

大部分PIC单片机都有RS-232模块,按照单片机手册使用相应的TX/RX引脚,再加上RS-232电平转换芯片,一般用MAX202E,就可完成单片机端的电路。

一般计算机的串口当然是RS232。但一些工业计算机可以选择RS485接口。RS232是个人计算机上的通讯接口之一,由电子工业协会(Electronic***Industries***Association,EIA)***所制定的异步传输标准接口。

传输方式不同:232串口采取不平衡传输方式,即所谓单端通讯,而485串口则采用平衡传输,即差分传输方式。传输距离不同:232串口适合本地设备之间的通信,传输距离一般不超过20米,而485串口的传输距离为几十米到上千米。

pic单片机用串口发送接收数据

1、当接收到数据时,RCIF会被置1,如果读了接收结果RCREG,则系统自动会把RCIF清0。

2、串口,即串行通迅(异步心通迅)本来就是一位一位的将数据串行发出,所以你的数据(10字节)肯定是一位一位的发,发完第一字--》第二字节--》。。第10字节。

3、单片机最好不要直接寄存器的值赋给寄存器,对串口接收中断必须将缓存器数据读取出来才能清空。另外main函数中while(1)当中要作长延时,不然数据看不到你从串口助手发送后,单片机返回的数据,你尝试一下,不能保证一定可以。

PIC单片机与电脑串口通信

TRISC***=***0xFF;***//设置C口方向全为输入***RCSTA***=***0x90;***//使能串口工作,连续接收***TXSTA***=***0x24;***//设定TXSTA寄存器。

等中断处理完,再执行走到一半的_delay_ms程序,因为数据被冲掉了,天知道是什么结果。用的是PIC的C语言吧?不好好看书,PIC的C语言最不灵光的(之一)就是程序的混合调用。

我问一下,你可以先测一下单片机发送端口的波形,如果没有,则证明你发送端有问题,这样就会影响你接收端了。

程序把清RCIF语句屏蔽了,但TXREG=RCREG;这一句就是读接收结果(把接收结果RCREG送到发送寄存器TXREG里),所以会自动让RCIF清0,只有新数据来时,RCIF才会置1,才能再进入中断。

电脑带有原生串口,就是主板上带有串行口,这个情况就太好办了。用“串口调试助手”测试一下就可以用VB写程序了。电脑和单片机用232芯片进行接口转换。电脑没有原生串口,就是主板上没有串行口,这个情况有点麻烦。

本文转载自互联网,如有侵权,联系删除

本文链接地址:http://www.oubolanzhuangshi.com/9086.html

相关文章

  • 暂无相关推荐