您好,
我尝试通过 UART1串行方式从 Tiva-c launchpad 发送一些数据、似乎数据已发送、但中断未被调用。
这是我的代码
#include #include #include #include #include #include #include #include #include "driverlib/pin_map.h" void UARTIntHandler (void); int main() { int data=1; SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz); //启用 UART0的外设时钟 SysCtlPeripheralEnable (SYSCTL_Periph_UART1); SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB); GPIOPinConfigure( GPIO_PB0_U1RX ); GPIOPinConfigure( GPIO_PB1_U1TX ); GPIOPinTypeUART (GPIO_PORTB_BASE、GPIO_PIN_0 | GPIO_PIN_1); //禁用 UART0 UARTDisable (UART1_base); //配置除数和格式 UARTConfigSetExpClk (UART1_base、SysCtlClockGet ()、2400、(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); //启用 FIFO UARTFIFOEnable (UART1_BASE);//在调用 UARTEnable()时自动启用 //启用单个 UART 中断源 UARTIntEnable (UART1_BASE、UART_INT_RX | UART_INT_RT); //启用 UART0中断 UARTIntRegister (UART1_BASE、UARTIntHandler); //IntEnable (INT_UART0); //启用处理器中断 IntMasterEnable(); //启用 UART0 UARTEnable (UART1_BASE); UARTCharPut (UART1_base、data); while (1); } void UARTIntHandler (void) { uint32_t uIstatus = UARTIntStatus (UART0_BASE、TRUE); UARTIntClear (UART0_BASE、UIstatus); }
