
在MXCUBE中如何进行如下操作: 我想用TIMER4或TIMER11的采用内部时钟分频产生的中断循环触发TIMER2,控制TIMER对外部时钟的采样,问题是: 1. TIMER4或11的ITR下应该如何设置?实际Cube中没有ITR这个设置,应该采用那个? 2. 如果TIMER4或11正确设置了,如何设置程序中启动TIMER4或11开始工作的代码可以触发的ITR信号传输给TIMER2 3. 在MXCUBE中应该选择TIMER2的那个触发选项? 4. 在工程中如何启动TIMER4或11开始工作? 先谢谢了 |
STM32CubeMX获得ADC的采样数值问题
STM32CubeMX生成STM32F334程序无法运行
stm32f407VGT6用freertos库一直进hardfault循环
关于stm32cubeide下载问题
使用cubemx更新代码时,自己添加的文件丢失如何解决
STM32CubeMX 6.14版本来了
无法在STM32CubeMX中找到STM32H723ZGT6的USB_OTG_FS配置?
yolov5 转onnx 在cubeAI进行部署的时候 部署失败 我想一下大佬们这是什么原因
STM32U575 串口接收+GPDMA 波特率不匹配导致失败
依然是老问题STM32CubeMX升级问题
我想用TIMER4或TIMER11的采用内部时钟分频产生的中断循环触发TIMER2,控制TIMER对外部时钟的采样,问题是:
1. TIMER4或11的ITR下应该如何设置?实际Cube中没有ITR这个设置,应该采用那个?
2. 如果TIMER4或11正确设置了,如何设置程序中启动TIMER4或11开始工作的代码可以触发的ITR信号传输给TIMER2
3. 在MXCUBE中应该选择TIMER2的那个触发选项?
4. 在工程中如何启动TIMER4或11开始工作?
==》你所说的采用内部时钟分频产生的中断循环触发TIMER2,你是指基于更新事件吧,即发生每计数溢出后产生触发事件给到TIM2。
你这里所说的控制TIMER对外部时钟的采样 是什么意思呢?
==》TIMER4或11的ITR下应该如何设置?根据的提法,它俩只是做主TIMER,是无须用到 ITR的。
==》你上面的第2个问题,我翻译下,大概是说如何设置TIM4/TIM11的输出作为TIM2的输入触发吧。这个先看参考手册,里面有各个定时器互相信号
表格,然后在cubeMx做配置选择。
==》你的第3个问题跟第2个问题类似,你先要确定TIM2到底由谁来触发,TIM4还是TIM11,不同的选择,触发项也可能不一样。
==》在手册或STM32相关库例程里都有启动定时器的介绍及库函数,稍微看下。建议你先把这个问题解决,再考虑TIMER主从级联的问题。
1.我用的Cube MX是6.12.1版本的
2.重新配置后,用您的代码在main头中加入,但在中断处理中没有反应。在SMT提供的stm32f4xx_it.c中的TIM2中断向量表中可以设置计数累加,如果将您的判断UPDATE加入后就没有反应了(我用TIM2,不是TIM4,在401中只有T1,T2,T3具有外部输入功能,T3作为PWM输出)
3.其实我不需要测试脉宽和周期,我的设想是:第一个上升沿打开计数,第二个上升沿关闭计数,计算并显示,大约重复几次求平均值即完成了。
真对我的这种需求应该如何设计呢?如何利用好STM32F4xx_it.c给的中断向量表直接完成测试?
您非常忙,恳请希望能指导我事先此功能。
再次表示感谢
一会儿画个图示描述我的问题
如果觉得此图也看不明白,我可以画流程图描述,谢谢
触发逻辑示意图
您好
我不太会用这个BBS,刚才编了一副示意图发上去了,我自己都看不到此文在哪里?也不知道图片上去了没有,有点晕。
非常感谢您的回复,并且非常有帮助。离目标还差一点点,恳请希望得到您的指点:
我只需要在
两次外部信号触发之间完成计数,重复若干次,最后计算平均值,结束。
外部信号可以是IO口的沿触发,也可以是TIM4或其他的TIMx,在F401RCT6中,T4开始没有外部输入,但可以作为内部触发信号控制TIM2的开始计数和结束计数。
再次表示感谢
这句话的意思和捕获原理不是一样的么 ?
结果就是后一个捕获寄存器CCR2的值减去前一个CCR1,从而得到了信号见的计数值。
用捕获实现,那么引脚只是同一定时器不同通道而已。
这个需求的话,不用搞那么复杂,用不到主从触发。
如果被测信号的周期不长于测试用的定时器的溢出周期时,
在需要做测量时就开启某个通道的捕获功能,可以基于上沿或下沿捕获,连续捕获N个值,
这样就可以得到N-1个结果,做下平均即可。作完测量后关闭捕获。
至于捕获值的获取你可以使用查询,也可以使用中断,或DMA。
这里默认定时器使用单向计数模式。