最近项目中STM32的串口资源紧张,于是使用IO口进行模拟串口,参考http://ziye334.blog.163.com/blog/static/2243061912014,使用原子的Mini STM32 V3.2开发板进行实验。IO口模拟串口的思路也比较简单,一切按照串口协议进行操作即可。对于发送,计算好不同波特率对应的延时时间进行数据发送即可。对于接收,稍微复杂。通过外部中断检测接收管脚的下降沿,检测到起始信号后开启定时器,定时器按照波特率设定好时间,每隔一段时间进入定时器中断接收数据,完成一个字节后关闭定时器。
测试Demo说明:
* TXD : PC13
* RXD : PB14
* 波特率:9600 ,1-8-N
*Demo功能: 接收11个数据,然后把接收到的数据发送出去。
5
评分
-
查看全部评分
|
|
|
|
不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错
|
|
|
|
|
谢楼主分享
|
|
|
|
|
公司正在做STM8的一个项目,串口资源不够用,需要模拟串口,但是在网上找了半天也没有可以参照的库函数版本,看看楼主的这个STM32版本,希望可以收到启发......谢谢楼主!
|
|
|
|
|
本帖最后由 sfd123 于 2016-12-3 10:33 编辑
代码和说明不是一回事,代码不是模拟串口,是标准串口!楼主这就不好了,说好的信任呢?
|
|
|
|
|
是模拟串口,只不过楼主也保存了对标准串口的初始化代码而已,请留意main函数,楼主并没有调用标准串口来发送或接收字符。
|
|
|
|
|