[技术问答] 新塘M0用定时起捕获怎么做模拟串口Rx?

[复制链接]
 楼主| laocuo1142 发表于 2024-6-12 11:00 | 显示全部楼层 |阅读模式
谁用过新塘M0的定时器输入捕获测脉宽来搞过模拟UART的Rx,或是用过外部中断加定时器搞过模拟UART的Rx吗?
小灵通2018 发表于 2024-6-13 22:19 | 显示全部楼层
模拟的很容易啊。主要是计算波特率。
小灵通2018 发表于 2024-6-13 22:20 | 显示全部楼层
官网上也有模拟版本的示例。
一只眠羊 发表于 2024-7-11 14:59 | 显示全部楼层
在嵌入式系统开发中,模拟UART接收(Rx)通常可以通过多种方式实现,包括使用定时器输入捕获功能或外部中断结合定时器。一般是使用定时器输入捕获测脉宽模拟UART Rx
未说出口的像你 发表于 2024-7-11 17:00 | 显示全部楼层
设置定时器为输入捕获模式,选择合适的通道来捕获外部信号的边沿(上升沿或下降沿)。配置定时器的时钟源和预分频器,以确保定时器的分辨率满足UART波特率的要求。
在曼谷的春 发表于 2024-7-11 19:00 | 显示全部楼层
当检测到起始位(通常是低电平)时,启动定时器开始计时。在每个数据位的中间位置捕获定时器的值,以确定数据位的电平。
我吃小朋友 发表于 2024-7-11 21:00 | 显示全部楼层
根据捕获的定时器值来判断数据位的值(高电平或低电平)。将捕获的数据位组合成字节,并进行校验和处理。
月亮一键变蓝 发表于 2024-7-11 23:00 | 显示全部楼层
一种方式是可以这样,使用外部中断加定时器模拟UART Rx设置外部中断引脚,使其在检测到UART信号的起始位(下降沿)时触发中断。
失物招領 发表于 2024-7-12 02:00 | 显示全部楼层
在中断服务程序中启动定时器,定时器的周期应设置为UART波特率的1/16或1/8,以便在每个数据位的中间位置进行采样。
她已醉 发表于 2024-7-12 04:00 | 显示全部楼层
定时器中断服务程序中,在每个数据位的中间位置读取UART信号的电平。将读取的电平值存储起来,直到一个完整的字节接收完毕。
春日负喧 发表于 2024-7-12 12:00 | 显示全部楼层
一般这么做的话,需要注意波特率匹配,确保定时器的分辨率和波特率匹配,以避免数据采样错误。
温室雏菊 发表于 2024-7-12 15:00 | 显示全部楼层
合理设置中断优先级,以防止中断冲突。在硬件设计中考虑噪声抑制措施,如使用上拉电阻或硬件滤波。在软件中实现简单的滤波算法,以提高数据接收的稳定性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6236

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部