嵌入式学习(15)-stm32通用GPIO模拟串口发送数据
一、概述
在项目开发中可能会遇到串口不够用的情况这时候可以用通过GPIO来模拟串口的通信方式。
二、协议格式
按照1位起始位+8位数据位+1位停止位的方式去编写发送端的程序。起始位拉低一个波特率的时间;发送8位数据;拉高一个波特率的时间。
三、代码
void IO_Serial_TxChar(uint8_t Data)
{
IO_SERIAL_TX(0);
delay_us(BuadRate_115200);
for(uint8_t i = 0; i < 8; i++)
{
if(Data&0x01)
IO_SERIAL_TX(1);
else
IO_SERIAL_TX(0);
delay_us(BuadRate_115200);
Data = Data>>1;
}
IO_SERIAL_TX(1);
delay_us(BuadRate_115200);
}
四、测试情况
波特率设置为115200,测试发送字符串无异常。
五、代码链接
STM32通过GPIO模拟串口通信时序,实现发送数据的功能资源-CSDN文库