在下面的代码中,myIsr5()、myIsr6()、myIdleFunc()不起作用。
我能够在上述所有函数上设置断点、但程序流不会进入这些函数、
这些函数中的消息不会打印在控制台窗口上。
/* XDCtools 头文件*/
#include
#include
#include
#include
/* TI-RTOS 头文件*/
#include
#include
#include
//#include
"Board.h"
bool Hwi5 = false;
bool Hwi6 = false;
//在发生中断5时运行*/
void myIsr5 (UArg arg){
if (arg =10)
{
Hwi5 = true;
system_printf ("在 Hwi 5中!!!!");//能够在此处设置断点,但不在控制台中打印消息*/
}
//
}//*在中断6发生时运行*/
void myIsr6 (UArg arg){
if (arg =12){
Hwi6 = true
system_printf ("在 Hwi 6中!!!!");//能够在此处设置断点,但消息不会在控制台中打印*/
}
}/*
空闲线程检查中断5和中断6的完成情况,并在中断5和中断6都完成后退出。 */
void myIdleFunc ()
{
if (Hwi5&& Hwi6){
system_printf ("两个中断都发生了!");//能够在此处设置断点,但不会在控制台中打印消息*/
System_exit (0);
}
}
int main (void)
{
/*呼叫板初始化函数*/
Board_initGeneral();
Board_initGPIO();
Hwi_Params HwiParams;
Hwi_handle myHwi;
Hwi_Params_init (hwiParams);
/*设置 myIsr6参数*/
hwiParams.arg = 12;
hwiParams.enableInt = false;
/*为中断号6创建一个 Hwi 对象、该中断号使用参数12调用 myIsr6 ()*/
myHwi = Hwi_create (16、myIsr6、&hwiParams、NULL);
system_printf ("进入 Hwi");//能够在此处设置断点,但不会在控制台中打印消息*/
if (myHwi = NULL){
system_abort ("Hwi 创建失败");
}
Hwi_Params hwiParams_1;
Hwi_handle myHwi_1;
Hwi_Params_init (&hwiParams_1);
hwiParams_1.arg = 10;
hwiParams_1.enableInt = false;
/*为中断号18创建一个 Hwi 对象、该中断号使用参数10 */调用 myIsr5 ()
myHwi_1 = Hwi_create (18、myIsr5、&hwiParams_1、NULL);
if (myHwi_1 == NULL){
system_abort ("Hwi 创建失败");//能够在此处设置断点,但消息不会在控制台中打印*/
}
Hwi_enableInterrupt (16);
Hwi_enableInterrupt (18);
System_printf ("进入 Hwi");
/*打开用户 LED */
GPIO_WRITE (Board_LED0、Board_LED_ON);
/*启动 BIOS */
BIOS_start();
返回(0);
}