历史上的今天
今天是:2025年01月23日(星期四)
2020年01月23日 | STM32定时器的TRGO信号
2020-01-23 来源:eefocus
定时器的框图中有一个TRGO信号输出,此信号可以用来触发ADC、DAC、其他定时器等。

此信号怎么产生呢?
要使用 TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_Update); 函数来选择TRGO信号的事件源,这个函数给TIMx_CR2寄存器的位6到位4赋值,位6到位4是MMS[2:0],描述如下:

如果MMS[2:0]值为000:当TIMx_EGR寄存器的UG位有效,就会触发TRGO输出。
如果MMS[2:0]值为010:当产生更新事件时,就会触发TRGO输出。
另外:
当配置MMS[2:0]值为010:当产生更新事件时,就会触发TRGO输出。还可以配合重复计数寄存器来使用:

即重复多少次后才会产生一个更新事件。比如以前是1S产生一个更新事件,当把RCR的值配置为3时,就会变成3秒产生一个更新事件。配置方法如下:
TIM_TimeBaseStructure.TIM_Period = PWM_PERIOD; //计数周期
TIM_TimeBaseStructure.TIM_Prescaler = PWM_PRSC; //分频系数
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV2; //设置外部时钟TIM1ETR的滤波时间
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned1; //中央对齐模式1,从0计数到 TIM_Period 然后开始减到0,循环
TIM_TimeBaseStructure.TIM_RepetitionCounter = REP_RATE; //重复计数,就是重复溢出多少次才产生一个溢出中断(产生更新事件,用来触发ADC采样)
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
史海拾趣
|
第一次搞嵌入,问几个简单的问题。每次只能100分,就分开问了。问题1 环境是有个bs架构的程序,数据库是oracle10g,需要一个pda做一些辅助工作。 因此,需要开发一个pda上的一个程序,pda操作系统wince5,开发工具vs2005,语言c#,数据库据说只能用sql ce。 每次用pda前,都需要与oracle同步数据,是不是需要做一个p ...… 查看全部问答> |
|
如何读Extended BIOS Data Area还有BIOS read-only memory space 就是如题所说了。。。。。给分大大的 最好是C语言拉。。或者告诉我哪儿有DLL用也行拉… 查看全部问答> |
|
我用tornado2.2/vxworks5.5,配置了Mounted TFFS Filesystem / TrueFFS flash File System,在启动后在应用程序里调用tffsDevCreate(0,0)失败,什么原因?还要做其他工作吗?… 查看全部问答> |
|
请推荐个STM32 或者别的 :有 CAN,UART,至少60个GPIO。。。跑好ucos-ii,最好不要 BGA封装的。呵呵,,,,请问1K片的价格是多少,开发板的价格呢?我初步选了个 STM32F103V8T6 。。。… 查看全部问答> |
|
最近做一个LM3S8962控制的NRF24L01 收发模块,移植了51的代码 结果出现很多问题 论坛里也没找到相关帖子,各位大侠有谁做过这个模块 望不吝赐教 最好有源代码 比较相近的也行 多谢啦!! [ 本帖最后由 CC_心雨 于 2011-4-11 17:23 编辑 ]… 查看全部问答> |
|
大家好,我现在在做DSP2812控制的三相PWM整流双闭环控制控制,在编程的时候我看到很多人都说先要对系统进行标幺化处理,然后再定标变成Q格式数据。我已经知道对一个单个的量怎么样进行标幺化,即就是除以基值,但是现在的问题是对这样一个系统我不 ...… 查看全部问答> |
|
急求Nucleus源码~!~~!! 任务紧急,OMAP3530和blackfin的源码都行哦。。只要操作系统部分就行。。 实在是抓瞎,有木有牛人帮帮忙哦。。。 发个给我吧,lydata@163.com 不胜感激~~~~!!! … 查看全部问答> |
|
本人有两块闲置的ARM 开发板(LM3S811 ),其中一块全新袋子还没打开,准备转让。有意者可以q我 821081701 以下是详细介绍 TI原装,超低价你就可以拥有ARM CORTEX M3,价格比单片机还要便宜。板载仿真器 TI 原装开发 ...… 查看全部问答> |




