单线收发 | 硬件UART

1.应用环境

应用电路中,由于空间限制,无法采用两线通信接口,只允许单线通信,而采用单总线(1-wire)协议,存在程序繁琐、速度慢等问题,采用自定义单总线协议也不可取。

因此我们提供该问题解决方法,使用通用硬件串口,将原来TX、RX合为一线通信;程序上与原来使用方法一样,只需简单修改IO操作,实现最大通信波特率可达500K(最大波特率由MCU决定)。

2.软件实现

只有一线,不能同时收发,此时必须存在一个主机A,和从机B。

开始A处于发送状态,B处于接收状态,在A发送后,A切换为接收状态,不再发送,B收到数据后,B开始发送,B发送完成切换为接收状态。

如果A发送后,A在一定时间内没有收到B返回的数据,可以在A程序中添加超时,A再次发送。

由于TX、RX接在一起,所以在RX接收前,应初始化串口,TX IO设置为输入、不上拉状态,避免影响信号;在TX发送前,应关闭串口接收、关闭串口中断,TX IO设置为推挽输出,RX IO设置为输入不上拉,避免影响信号。

芯片型号

ROM

(bytes)

RAM

(bytes)

IO

ADC

(12bit)

HIRC

Timer通讯接口
封装
MC51F003A416K512

18

(最多)

1232M4*16bit

SPI:1

UART:2

SOP20/16/8

TSSOP20

相关下载

文件名
版本号
发布时间
下载
热线电话

电话咨询

+86-21-38682906