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