在很多使用STM32,HAL的例子中,通過中斷接收UART數(shù)據(jù),代碼如下所示: 最初(開始接收): - <font size="4">HAL_UART_Receive_IT(&huart1, Rx_data, 1); </font>: F9 V$ ^& s2 V$ x8 H( x
6 v) {% Y o3 `6 l6 ]. `
[color=rgb(51, 102, 153) !important]復(fù)制代碼* F& L4 K; _: g% t) I6 U+ g& x
, d: W6 s5 |7 S" j- V f中斷接收完成后: - <font size="4">//Interrupt callback routine
- void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
- {
- ...
- HAL_UART_Receive_IT(&huart, Rx_data, 1);
- }</font>. T, u& L: s# {+ c+ C
$ I* k: w8 _- t, h/ w1 }[color=rgb(51, 102, 153) !important]復(fù)制代碼# m( ^- V3 x( H6 `5 ^7 f
我想知道,是否有可能在實際接收和再次啟動中斷的(接收完成)回調(diào)之后丟失字節(jié)。 或者假設(shè)上面的中斷處理程序太短,數(shù)據(jù)仍然在UART緩沖區(qū)中?
2 p4 j" F4 z6 e0 i |