人妻暴雨中被强制侵犯在线,亚洲国产欧美日韩精品一区二区三区,四虎影免看黄,国产无人区二卡三卡四卡不见星空

機械社區(qū)

標題: UART的可能性會導致數據丟失嗎? [打印本頁]

作者: 布谷鳥科技    時間: 2018-9-21 11:36
標題: UART的可能性會導致數據丟失嗎?
在很多使用STM32,HAL的例子中,通過中斷接收UART數據,代碼如下所示:
最初(開始接收):
  • <font size="4">HAL_UART_Receive_IT(&huart1, Rx_data, 1); </font>
    - p( \: ?9 ]- ^6 y

$ J5 [; [+ s4 W& J[color=rgb(51, 102, 153) !important]復制代碼
6 S$ ]" N2 w! N# z" s% ~4 N: O

" t! N* |/ L8 Z( K8 o, j
中斷接收完成后:
  • <font size="4">//Interrupt callback routine
  • void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  • {
  •     ...
  •     HAL_UART_Receive_IT(&huart, Rx_data, 1);
  • }</font>
    ; i( F2 `, w0 o1 ^* j* P# v# c

' v% D3 D; W2 Y6 m, I- l[color=rgb(51, 102, 153) !important]復制代碼

) ]' M' x9 f8 ?9 I
我想知道,是否有可能在實際接收和再次啟動中斷的(接收完成)回調之后丟失字節(jié)。
或者假設上面的中斷處理程序太短,數據仍然在UART緩沖區(qū)中?

7 G" k. y  e$ ?
作者: NEMO_LLSoQ    時間: 2018-9-22 17:53
理論上不會,UART接收完成才會產生事件
/ ~, `9 \8 f& i& vUART模塊內部肯定會做緩存處理。
4 s  c1 o. a5 ^$ B+ f: U1 d如果還擔心丟數據,請使用DMA大法!




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