历史上的今天
今天是:2025年01月31日(星期五)
2019年01月31日 | STM32 定时器周期动态修改
2019-01-31 来源:eefocus
最近手头项目上有个需要模拟串口的地方,而模拟串口部分有这样的一个需求:当Strat信号来的时候启动定时器TIM3,到52us后采样Start信号是否是低电平,然后希望将定时器的周期改成104us,采样剩余的9个bit。
解决思路:
① 外部中断触发时候启动TIM3(同时关闭外部中断使能),等52us后在TIM3中断里判断Rx的状态;
② 如果是低电平就改变定时器TIM3的周期为104us;
③ 如果是高电平就不要接收了并恢复外部中断使能;
④ 在后续的9次中断里依次接收bit0...bit7还有STOP位;
⑤ 当接收到STOP位的时候就可以关闭TIM3了,然后再恢复外部中断使能;
知识难点:
TIM3的ARR寄存器一开始等于52-1;
等到START是低电平就改成104-1;
为了能让修改后ARR寄存器立即妥妥生效,建议在初始化完TIM3后添上这么一句:
TIM3->CR1 &= ~TIM_CR1_APRE;

通过这个波形我们可以看到TIM3的周期一开始是52us以后就变成104us了,我们再仔细观察2帧之间有208us(我实际测量的)空闲,这个波形是PC上一个串口工具发的,由此可见它这一个bit耗时104us*12=1.248ms
史海拾趣
|
急需!!! 电子技术研发设计开发方案!!! 公司拓展,急需方案,请拥有方案或部分技术的公司和个人迅速与我联系, 邮箱 rdeasy@yahoo.cn 请注明公司全名或个人的姓,详细准确的联系方式和方案,否则不予考。 你有别的电子技术设计 ...… 查看全部问答> |
|
哪个朋友XINLIN的VHDL程序比较厉害,,我写了个程序老有点小问题 八个拨码开关 11111111 不分频 11111110 2分频 11111101 3分频 11111100 4分频 依次类推,,,问题的难点就在奇数 偶数都要分频 而且 我用的是XINLIN 的95 ...… 查看全部问答> |
|
我现在在学习omap5910 在ARM与DSP数据传送时遇到一个问题 就是ARM是默认的小端存储 DSP是默认的大端存储 但在网上搜索了一下 好像ARM端的大小端可以自己设置 请问哪位大虾能赐教一下 自己如何设置… 查看全部问答> |
|
TI【免费样片!高棚灯 LED 照明/化学/气体传感器/LED 阵列驱动,,立即获取!!!】 【免费样片! 数量有限, 立即获取!!!】TI整合国半(NS)后推出系列系统解决方案 从通讯、计算机、消费类电子到汽车、工业,从能源、医疗到安防、航空航天,收购国半之后的TI整合双方优势,不断提升产品结合后的总体效用,已陆续推出一系列创新、完 ...… 查看全部问答> |
|
•Q1和Q2组成了一个反置的图腾柱,用来实现隔离,同时确保两只驱动管Q3和Q4不会同时导通。 R2和R3提供了PWM电压基准,通过改变这个基准,可以让电路工作在PWM信号波形比较陡直的位置。Q3和Q4用来提供驱动电流,由于导通的时候,Q3和Q4相对Vh ...… 查看全部问答> |




