PIC16f73与上位机进行异步通讯问题

2020-02-09 09:30发布

我在学习PIC单片机与PC机异通讯时,想用到,电脑串口4脚和6脚,处理数据流。但不知道怎么样实现起来更好!请问在软件编写或硬件方面应该注意哪些
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
crazy_st0ne
2020-02-09 23:13
回复【楼主位】qqrenzhi
-----------------------------------------------------------------------
(1)电平方面,RS232 使用DB9 的2脚作为数据接收RX,3脚作为数据发送TX,根据标准的不同,使用+3(0)~+15V,-3(0)~-15V电平作为逻辑0/1。单片机的UART口为TTL电平,使用0V, 5V作为逻辑0/1。在单片机和上位机进行通讯时,需要使用MAX232作电平的转换。
(2)时序方面,PIC16F可以通过寄存器值直接控制波特率,因此理论上可以设置任意波特率,但上位机根据使用的操作系统软件支持或硬件通讯芯片支持的原因,往往只支持规定的波特率(可以在COM的硬件属性中看到所有支持的标准波特率),当然也有支持任意波特率的串口芯片。因此,如果无特殊需求,最好使用标准波特率,波特率的计算,datasheet中有详细的解释。
(3)上位机串口支持芯片从550升级到950后,RS232所支持的波特率也升级到960kbps,因此在进行高速的通讯时,需要注意晶振频率是否能够满足。(这个需要计算,如果没有记错,16F最高支持20M晶振),波特率越高,由于EMC、时钟分频方面的原因,通讯的误码率会上升,最好使用协议,校验通讯。
(4)最后,在硬件设计是,头脑清醒,不要把RX和TX接反了:)

一周热门 更多>