一、概述
在项目开发中可能会遇到串口不够用的情况这时候可以用通过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文库