使用普通的IO口,模拟串口协议, 和PC端串口调试软件实现通信。
网上找了很多资料,有很多网友有写程序,但是感觉都不是很完整,无意间看到ST官方居然有实现,直接下载代码开始用。
针对官方的IO口模拟串口软件,简单介绍下用到资源。
由于模拟的串口RX脚,对于电平的输入判断用到定时器的输入捕获功能,所以官方用的是定时器3的通道2。
我自己在STM8S003F3P6最小系统上,移植到了TIM2的CH1即PD4用来做串口的RX脚,和PC端串口调试器的TX脚连接。
模拟串口的TX脚没有特殊要求,我这里用的PD3。。。。
修改了MAIN里面的函数,实现模拟串口直接发送接收到的数据。
PPS,关于串口波特率的配置,
这个软件包你需要配置下使用外部24MHZ还是内部16MHZ的晶振,我这里配置的内部16M,
然后在模拟串口初始化里面,按照需要配置的波特率,配置定时器的时基。
常用的函数注释里面已经有给你计算好,直接copy就好, 我这里用的16M,9600bsp,所以填的是注释里面给的833.
简单配置以后就可以实现IO模拟串口通信了。
主要是为了节约成本,加个硬件的串口,成本又加了。
点我下载源码
如果能使用DMA的话,是不是会好一些?
HyperSnap_441.jpg (105.04 KB, 下载次数: 0)
下载附件
2017-3-18 19:16 上传
LPC1768的全双工UART的软件模拟实现
HyperSnap_444.jpg (61.29 KB, 下载次数: 0)
下载附件
2017-3-18 19:23 上传
一周热门 更多>