This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C129ENCPDT:UART中断引起的问题

Guru**** 2601915 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/626891/ccs-tm4c129encpdt-uart-interrupt-isssue

零件号:TM4C129ENCPDT

工具/软件:Code Composer Studio

尊敬的各位:

我正在使用2.1 4.178。 我使用UART echo示例程序, 并检查了UART0中断,工作正常。

但是,当我修改了其他UART的代码时,我可以发送,但中断不起作用。

程序正在设置到 IntDefaultHandler函数中。

已进行以下更改:

/****************** 初始化******************************************************************* /

G_ui32SysClock = MAP_SysClockFreqSet (((sysctl_XTal_25MHz |sysctl_OSC主|sysctl_use_PLL |sysctl_CFG_VCO_480),1.2亿);
//
//启用用于板载LED的GPIO端口。
//
ROM_SysCtlPeripheralEnable(sysctl_Periph_gpion);

//
//为LED (PN0)启用GPIO引脚。
//
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTN_BASE,GPIO PIN_0);

//
//启用此示例使用的外围设备。
//

ROM_SysCtlPeripheralEnable(sysctl_Periph_UART4);

ROM_SysCtlPeripheralEnable(sysctl_Periph_GPIOK);
//
//启用处理器中断。
//
ROM_IntMasterEnable();

//
//将GPIO K0和K1设置为UART引脚。
//

GPIOPinConfigure(GPIO_PK0_U4RX);
GPIOPinConfigure(GPIO_PK1_U4TX);
ROM_GPIOPinTypeUART (GPIO _PORTK_BASE,GPIO PIN_0 | GPIO PIN_1);

//
//为11.52万 ,8-N-1操作配置UART。
//

ROM_UARTConfigSetExpClk (UART 4_base,g_ui32SysClock,11.52万,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
//
//启用UART中断。
//

ROM_IntEnable (INT_UART4);
ROM_UARTIntEnable (UART4_BASE,UART_INT_RX | UART_INT_RT);

/********************************************************************************************************* /

/**************** 在中断中******************************************************************************************************** /

void UARTIntHandler (void)(空)

ui32Status5 = ROM_UARTIntStatus (UART4_BASE,TRUE);

//
//清除断言的中断。
//
ROM_UARTIntClear (UART4_BASE,ui32Status5);

//
//当接收FIFO中有字符时循环。
//
while (ROM_UARTCharsAvail (UART4_BASE))

 G_UARTBuffer[g_UART[Count]= ROM_UARTCharGetNonBlocking (UART4_BASE);

*

*

*

//将接收到的数据保存在缓冲区中的程序

*

*

*

}

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Arun,

    需要在启动文件中设置中断处理程序。

    - kel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Kel,非常感谢!!