请问,ti技术专家帮忙看看代码哪有问题。或者有参考例程吗。
初始化uart2中断代码如下,没起作用,无法进入中断函数UART2Isr()。
void UART2Isr(UArg arg)
{
//UARTPuts("\r\n ============Test Start===========.\r\n", -1);
System_printf("Running\n");
System_flush();
}
/*
* ======== main ========
*/
Int main()
{ /* Enabling the PSC for UART2.*/
PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_UART2, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
/* Setup PINMUX */
UARTPinMuxSetup(2, FALSE);
/* Enabling the transmitter and receiver*/
UARTEnable(SOC_UART_2_REGS);
/* Configuring the UART parameters*/
UARTConfigSetExpClk(SOC_UART_2_REGS, SOC_UART_2_MODULE_FREQ, BAUD_115200, UART_WORDL_8BITS, UART_OVER_SAMP_RATE_16);
/* Enabling the FIFO and flushing the Tx and Rx FIFOs.*/
UARTFIFOEnable(SOC_UART_2_REGS);
/* Setting the UART Receiver Trigger Level*/
UARTFIFOLevelSet(SOC_UART_2_REGS, UART_RX_TRIG_LEVEL_1);
// 动态创建硬件中断
Hwi_Handle hwi;
Hwi_Params hwiParams;
Error_Block eb;
Error_init(&eb);
// 使用默认值初始化参数
Hwi_Params_init(&hwiParams);
// 中断事件
hwiParams.eventId = 69;
// 传递到中断服务函数的参数
hwiParams.arg = 1;
// 不允许该中断自身嵌套
// hwiParams.maskSetting = Hwi_MaskingOption_SELF;
// 使能中断
hwiParams.enableInt = 1;
// 可屏蔽中断
// 中断服务函数 hwiMain
hwi = Hwi_create(4, &UART2Isr, &hwiParams, &eb);
if (hwi == NULL)
System_abort("I2C hwi create failed");
Hwi_enable();
Hwi_enableInterrupt(4);
BIOS_start(); /* does not return */
return(0);
}
Denny%20Yang99373:
可以把这个问题分成两部分。
1,UART接受部分,看看非中断情况下能不能收到数据。
2,中断部分,在1没问题的情况下,看看是不是中断什么地方没有配置好。