第一个弱智的问题:怎样实现loopback?! void CommSetting(int port, long baudrate, int databit, int stopbit, int parity) { // Configure the UART X UART_Init(UartPort[port]); UART_LoopBackConfig(UartPort[port], DISABLE); // Disable Loop Back UART_FifoConfig(UartPort[port], ENABLE); // Enable FIFOs UART_FifoReset(UartPort[port], UART_RxFIFO); // Reset the UART_RxFIFO UART_FifoReset(UartPort[port], UART_TxFIFO); // Reset the UART_TxFIFO /* Configure the UARTX as following: - Baudrate = 57600 Bps - No parity - 8 data bits - 1 stop bit */ UART_Config(UartPort[port], baudrate, parity, stopbit, databit); UART_RxConfig(UartPort[port], ENABLE); // Enable Rx EIC_IRQChannelConfig(UART0_IRQChannel+port, ENABLE); EIC_IRQChannelPriorityConfig(UART0_IRQChannel+port, 1); EIC_IRQConfig(ENABLE); UART_ItConfig(UartPort[port],UART_RxHalfFullIE|UART_TimeOutNotEmptyIE|UART_TxHalfEmptyIE,ENABLE); UART_OnOffConfig(UartPort[port], ENABLE); // Turn UARTX on }
在这个初始化中,我将UART_LoopBackConfig(UartPort[port], DISABLE);改成 UART_LoopBackConfig(UartPort[port], ENABLE); 我觉得这样就应该能实现了,但没有
还有一个疑问:uart设置成loopback后,mcu的串口仍然能接收到数据吗?
这些个简单的问题不知道在STR710的datasheet里面没有提出来,我以前觉得 PHILIP的ARM垃圾,没有想到更垃圾的又出现了! |