TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP432 单片机组优先级函数的使用

请教TI工程师

      关于组优先级函数 Interrupt_setPriorityGrouping(uint32_t bits) 如何使用,有无样例,其中这个uint32_t bits如何填写

      如果针对有12个最优的中断  我需要分3组  具体大约如何实施写,谢谢。

      如果小于等于8个中断  我直接用 下面的函数了,

Interrupt_setPriority(uint32_t interruptNumber, uint8_t priority)
priority:优先级别,例如0x00, 0x20, 0x40, 0x60, 0x80, 0xA0, 0xC0, 0xE0

但是现在实际是12个  因此需要分组,Interrupt_setPriorityGrouping(uint32_t bits) 如何使用  请指教

gaoyang9992006:

你可以定位到这个函数的头文件对应的c文件,里面在函数原型的前面有对参数的说明

gaoyang9992006:

也可以设置同一个优先级,也可以不修改,使用默认的。这个12种中断都需要优先级设置吗

Susan Yang:

是的,目前没有这方面的例程

您可以在下面的链接找到函数原型

void Interrupt_setPriorityGrouping ( uint32_tbits )

Sets the priority grouping of the interrupt controller.

Parameters
bits specifies the number of bits of preemptable priority.

This function specifies the split between preemptable priority levels and sub-priority levels in the interrupt priority specification. The range of the grouping values are dependent upon the hardware implementation; on the MSP432 family, three bits are available for hardware interrupt prioritization and therefore priority grouping values of three through seven have the same effect.

Returns
None.

dev.ti.com/…/group__interrupt__api.html

首先,对MSP32中断进行分组,组0~7(3到7是相同的)。同时,对每个中断设置一个抢占优先级和一个子优先级值。 分组配置是在寄存器AIRCR中配置。

高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。若是抢占优先级相同,则高的子优先级不可以打断低子优先级的中断。如果两个中断的抢占优先级和子优先级都是一样的话,则按照中断发生的时间来执行

赞(0)
未经允许不得转载:TI中文支持网 » MSP432 单片机组优先级函数的使用
分享到: 更多 (0)