打印
[技术问答]

新塘M0用定时起捕获怎么做模拟串口Rx?

[复制链接]
1486|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

使用特权

评论回复
5
未说出口的像你| | 2024-7-11 17:00 | 只看该作者
设置定时器为输入捕获模式,选择合适的通道来捕获外部信号的边沿(上升沿或下降沿)。配置定时器的时钟源和预分频器,以确保定时器的分辨率满足UART波特率的要求。

使用特权

评论回复
6
在曼谷的春| | 2024-7-11 19:00 | 只看该作者
当检测到起始位(通常是低电平)时,启动定时器开始计时。在每个数据位的中间位置捕获定时器的值,以确定数据位的电平。

使用特权

评论回复
7
我吃小朋友| | 2024-7-11 21:00 | 只看该作者
根据捕获的定时器值来判断数据位的值(高电平或低电平)。将捕获的数据位组合成字节,并进行校验和处理。

使用特权

评论回复
8
月亮一键变蓝| | 2024-7-11 23:00 | 只看该作者
一种方式是可以这样,使用外部中断加定时器模拟UART Rx设置外部中断引脚,使其在检测到UART信号的起始位(下降沿)时触发中断。

使用特权

评论回复
9
失物招領| | 2024-7-12 02:00 | 只看该作者
在中断服务程序中启动定时器,定时器的周期应设置为UART波特率的1/16或1/8,以便在每个数据位的中间位置进行采样。

使用特权

评论回复
10
她已醉| | 2024-7-12 04:00 | 只看该作者
定时器中断服务程序中,在每个数据位的中间位置读取UART信号的电平。将读取的电平值存储起来,直到一个完整的字节接收完毕。

使用特权

评论回复
11
春日负喧| | 2024-7-12 12:00 | 只看该作者
一般这么做的话,需要注意波特率匹配,确保定时器的分辨率和波特率匹配,以避免数据采样错误。

使用特权

评论回复
12
温室雏菊| | 2024-7-12 15:00 | 只看该作者
合理设置中断优先级,以防止中断冲突。在硬件设计中考虑噪声抑制措施,如使用上拉电阻或硬件滤波。在软件中实现简单的滤波算法,以提高数据接收的稳定性。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1213

主题

5348

帖子

12

粉丝