完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
教一下:使用STM8片子,采集二个方波算频率,需资源只能用T2_C1和T2_3,可是二个会进入同一个中断,即INTERRUPT_HANDLER(tiM2_CAP_COM_IRQHandler, 14)中断,这二个捕获有没有单独的中断?
|
|
相关推荐
1个回答
|
|
在STM8微控制器中,使用定时器TIM2的输入捕获模式(ICM)来测量两个方波的频率。根据您的描述,您希望使用T2_C1和T2_C3作为输入捕获通道。然而,这两个捕获通道共享同一个中断处理程序,即INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14)。
为了解决这个问题,我们可以在中断处理程序中检查哪个捕获通道触发了中断,然后分别处理。以下是解决这个问题的步骤: 1. 首先,配置定时器TIM2的工作模式。在本例中,我们需要将其配置为输入捕获模式。 2. 接下来,配置T2_C1和T2_C3作为输入捕获通道。确保它们的输入通道映射正确。 3. 配置TIM2的时钟源和预分频器,以获得所需的计数频率。 4. 启用T2_C1和T2_C3的捕获中断。这将允许定时器在捕获事件发生时生成中断。 5. 实现INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14)中断处理程序。在这个处理程序中,我们需要检查哪个捕获通道触发了中断。这可以通过检查TIM2的捕获中断标志(如TIM2_SR1和TIM2_SR2)来实现。 6. 在中断处理程序中,根据触发中断的捕获通道,执行相应的处理。例如,如果T2_C1触发了中断,您可以读取T2_C1的捕获值并计算方波频率。同样,如果T2_C3触发了中断,您可以读取T2_C3的捕获值并计算另一个方波的频率。 7. 清除定时器TIM2的捕获中断标志,以允许新的捕获事件触发中断。 通过以上步骤,您可以实现在同一个中断处理程序中处理两个捕获通道的中断。这种方法的优点是节省了资源,因为您不需要为每个捕获通道分配单独的中断处理程序。然而,这种方法的缺点是中断处理程序的执行时间可能会增加,因为您需要检查哪个捕获通道触发了中断并相应地处理。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1937浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:04 , Processed in 0.897343 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号