1
任何人都可以帮助我获得Atmel ATSAME70 ARM M7 USART接收超时工作吗?Atmel SAME70 USART接收超时未触发
我的USART发送和接收正确,在115200波特。我使用的ASF库,并设置RX时限如下:
#define TBUS_RX_TIMEOUT_MS 200
usart_set_rx_timeout(USART0, UART_BAUDRATE * RX_TIMEOUT_MS/1000);
我确认TO在US_RTOR寄存器正确设置值。
然后我用这个调用启动超时:
usart_restart_rx_timeout(USART0);
有在这一点上的串行总线上没有流量,所以我预期的超时标志被设置。它永远不会被设置。
是否还有其他要求获得超时触发?
是否启用中断?尝试添加'usart_enable_interrupt(USART0,US_IER_TIMEOUT);' – LPs
非常感谢。是的,中断已启用。我加入了IER超时先前存在的面具如下: 'usart_enable_interrupt(TBUS_UART,UART_IER_RXRDY | UART_IER_FRAME | UART_IER_OVRE | US_IER_TIMEOUT);' 所有其它的中断被触发,只是不超时。 – David