[技术问答] 请问,M480系列只有两个定义,请问如何区分任意通道的TIME-OUT标志?

[复制链接]
 楼主| powerantone 发表于 2024-10-18 14:29 | 显示全部楼层 |阅读模式
请问,M480系列只有两个定义,请问如何区分任意通道的TIME-OUT标志?#define PDMA_INTSTS_REQTOF0_Pos          (8)                                               /*!< PDMA_T::INTSTS: REQTOF0 Position       */#define PDMA_INTSTS_REQTOF0_Msk          (0x1ul << PDMA_INTSTS_REQTOF0_Pos)                /*!< PDMA_T::INTSTS: REQTOF0 Mask           */

#define PDMA_INTSTS_REQTOF1_Pos          (9)                                               /*!< PDMA_T::INTSTS: REQTOF1 Position       */
#define PDMA_INTSTS_REQTOF1_Msk          (0x1ul << PDMA_INTSTS_REQTOF1_Pos)                /*!< PDMA_T::INTSTS: REQTOF1 Mask           */
Annie556 发表于 2025-1-20 14:32 | 显示全部楼层
在 Nuvoton M480 系列微控制器 中,定时器(Timer)模块支持多个通道,并且每个通道都有一个TIME-OUT标志(Timer Time-Out Flag),用于指示定时器计数是否达到预设值。虽然 M480 系列的定时器模块只有两个定义(如 TIMER0 和 TIMER1),但每个定时器模块支持多个通道(如 TIMER0 有 5 个通道,TIMER1 有 5 个通道)。
BetrayalNO 发表于 2025-1-20 15:38 | 显示全部楼层
区分任意通道的 TIME-OUT 标志,可以通过每个定时器模块(如 TIMER0 或 TIMER1)就能看明白了
爱相随 发表于 2025-1-20 16:41 | 显示全部楼层
每个定时器通道的 TIME-OUT 标志位位于 TISR 寄存器中
ranmuy 发表于 2025-1-20 17:45 | 显示全部楼层
通过读取 TISR 寄存器的值,可以判断哪个通道触发了 TIME-OUT。
Belle1257 发表于 2025-1-20 19:03 | 显示全部楼层
在读取 TIME-OUT 标志后,需要手动清除标志位,以便下一次检测。
Carmen7 发表于 2025-1-20 20:17 | 显示全部楼层
如果多个通道同时触发 TIME-OUT,需要确保中断优先级设置正确
MercuryStar 发表于 2025-1-20 21:38 | 显示全部楼层
每次检测到 TIME-OUT 标志后,必须手动清除标志位,否则会重复触发中断。
flechazo 发表于 2025-1-21 08:30 | 显示全部楼层
确保定时器的时钟源、预分频器和比较值配置正确。
Betty1299 发表于 2025-1-21 10:25 | 显示全部楼层
通过读取 TISR 寄存器的值,可以区分不同通道的 TIME-OUT 标志
Alina艾 发表于 2025-1-21 14:27 | 显示全部楼层
每个通道的 TIME-OUT 标志位是独立的,可以通过掩码(如 TIMER_TISR_TIF0_Msk)进行检测。在检测到 TIME-OUT 标志后,需要手动清除标志位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

676

主题

3894

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部