久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

機(jī)械社區(qū)

標(biāo)題: UART的可能性會(huì)導(dǎo)致數(shù)據(jù)丟失嗎? [打印本頁(yè)]

作者: 布谷鳥科技    時(shí)間: 2018-9-21 11:36
標(biāo)題: UART的可能性會(huì)導(dǎo)致數(shù)據(jù)丟失嗎?
在很多使用STM32,HAL的例子中,通過(guò)中斷接收UART數(shù)據(jù),代碼如下所示:
最初(開(kāi)始接收):
  • <font size="4">HAL_UART_Receive_IT(&huart1, Rx_data, 1); </font>9 m; ^7 H. M, K8 C5 o% B
4 }3 ~( J1 F0 X  }! n
[color=rgb(51, 102, 153) !important]復(fù)制代碼
5 u4 V. [% k3 O1 h5 q

( p. Y1 n4 |4 _) J
中斷接收完成后:
  • <font size="4">//Interrupt callback routine
  • void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  • {
  •     ...
  •     HAL_UART_Receive_IT(&huart, Rx_data, 1);
  • }</font>
    3 Z  O$ B# ~) u# \5 |0 u4 s* b) }

5 l& _/ t! O! V+ y6 J; }* U7 N[color=rgb(51, 102, 153) !important]復(fù)制代碼

% ^2 a. @# j: J
我想知道,是否有可能在實(shí)際接收和再次啟動(dòng)中斷的(接收完成)回調(diào)之后丟失字節(jié)。
或者假設(shè)上面的中斷處理程序太短,數(shù)據(jù)仍然在UART緩沖區(qū)中?
) P* M1 V# |$ n! I+ R/ f

作者: NEMO_LLSoQ    時(shí)間: 2018-9-22 17:53
理論上不會(huì),UART接收完成才會(huì)產(chǎn)生事件; D  e! v7 ^% _+ P
UART模塊內(nèi)部肯定會(huì)做緩存處理。- _7 I7 D" H% K
如果還擔(dān)心丟數(shù)據(jù),請(qǐng)使用DMA大法!




歡迎光臨 機(jī)械社區(qū) (http://www.ytsybjq.com/) Powered by Discuz! X3.5