工具/软件:TI-RTOS
您好!
我对 UART 驱动程序的工作原理有一个简短的问题。
据我了解、在使用 UART 驱动程序时、硬件中断会自动启用。 但是、如何使 HWI 指向我的函数、在其中处理数据?
我的代码:
在任务中:
uint8_t buffer[20];
UART_Handle UART;
UART_Params uartParams;
//初始化 UART 驱动程序。
UART_INIT();
//创建一个数据处理关闭的 UART。
UART_PARAMS_INIT (uartParams);
uartParams.readMode = UART_MODE_BLOCKING;
uartParams.readCallback = UartRxFxn;
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.baudrate = 9600;
UART = UART_OPEN (Board_UART0、uartParams);
静态空 UartRxFxn (UART_Handle handle、void *buf、size_t count){
system_printf ("任务触发\n");
system_flush();
Semaphore_post (uartSem);
}
通过调用 UART_read()和 UART_write()可以很好地对 UART 进行读写操作。 但是、如何使硬件中断指向"UartRxFxn"?
如果我尝试自己定义 HWI (中断矢量21)、应用程序将锁定在 UART_open()中。
有什么想法吗? :-)