GPIO模拟串口

模拟串口

 

         串口默认的1byte数据格式为(暂不考虑校验位):1bit起始位+8bit数据位+1bit停止位,起始位(S)为低电平,停止位(T)为高电平。具体格式如下图所示

 GPIO模拟串口_第1张图片


若波特率为9600,每s传输9600Bd。二进制下波特率等于比特率。则可看成每s传输9600bit。

1/9600 = 104 us 每104us发送1bit

 

定时器配置为104us触发一次,进入定时器中断。

 

下面以发送1bit START + 1byte DATA + 1bit STOP数据为例

若为发送数据,每104us发送一个bit(即进入TIM中断发送)  则:

先发送START位,为低电平

再发送8bit的数据

最后发送STOP位,为高电平

 

 

若为接收数据,则:

在TIM中断函数中判断RX引脚的电平

平时RX为高电平,若检测到RX为低电平,则表示串口收到数据,开始接收模式。

将START位后的8bit数据接收放入BUFF中。

你可能感兴趣的:(STM8L)