TMS320F28377S: C2000上移植FreeRTOS的临界保护区taskENTER_CRITICAL()

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

你好!

 

我在TMS320F28377S上移植FreeRTOS。C2000Ware版本为26_00_00_00,FreeRTOS版本为V11.2.0。

 

其中,FreeRTOS的临界保护区taskENTER_CRITICAL()的实现方法是“关闭全局可屏蔽中断”,代码源自C2000Ware_26_00_00_00\kernel\FreeRTOS\Source\portable\CCS\C2000_C28x\portmacro.h,如下所示。

//-------------------------------------------------------------------------------------------------
// Interrupt control macros.
//-------------------------------------------------------------------------------------------------
#define portDISABLE_INTERRUPTS()  __asm(" setc INTM")
#define portENABLE_INTERRUPTS()   __asm(" clrc INTM")

 

我需要在AD中断服务函数中实现控制环路,AD中断频率为100kHz。若移植FreeRTOS,临界保护区taskENTER_CRITICAL()是否会对AD中断和控制环路造成负面影响?

 

谢谢!