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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 2562|回復: 1

UART的可能性會導致數據丟失嗎?

[復制鏈接]
1#
發表于 2018-9-21 11:36:45 | 只看該作者 |倒序瀏覽 |閱讀模式
在很多使用STM32,HAL的例子中,通過中斷接收UART數據,代碼如下所示:
最初(開始接收):
  • <font size="4">HAL_UART_Receive_IT(&huart1, Rx_data, 1); </font>0 T9 D- S7 L  D9 l8 z0 A
" g  U; F3 g) [* R1 J; i
[color=rgb(51, 102, 153) !important]復制代碼
0 u- W/ B# ]4 g6 P0 |  x, Y

$ F8 A+ z! n! }# V/ C; ]
中斷接收完成后:
  • <font size="4">//Interrupt callback routine
  • void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  • {
  •     ...
  •     HAL_UART_Receive_IT(&huart, Rx_data, 1);
  • }</font>+ O) ~2 U- |; A& |

& y7 o  G8 z' ?0 b' u, W9 J[color=rgb(51, 102, 153) !important]復制代碼

) e) Y/ ^/ T4 s: F* L5 p$ P
我想知道,是否有可能在實際接收和再次啟動中斷的(接收完成)回調之后丟失字節。
或者假設上面的中斷處理程序太短,數據仍然在UART緩沖區中?

; O2 L% G( ~: ]  H4 R( D6 m
回復

使用道具 舉報

2#
發表于 2018-9-22 17:53:14 | 只看該作者
理論上不會,UART接收完成才會產生事件
8 M' p- l+ ?* q6 Z, XUART模塊內部肯定會做緩存處理。5 Q9 `6 D' p3 P0 w! g
如果還擔心丟數據,請使用DMA大法!
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-22 17:06 , Processed in 0.073018 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表