一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

串口發(fā)送的這幾種寫法,你用過幾種?

 新用戶0118F7lQ 2021-09-16

STM32用USART發(fā)送字符串,以USART_FLAG_TXE和USART_FLAG_TC怎么用

一:STM32用USART發(fā)送字符串

void UART_Send_Message(u8 *Data){ while(*Data!='\0') { USART_SendData(USART1, *Data); while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);//讀取串口狀態(tài) Data ; }} void main(void){ u8 str_buf[500]; memset((char *) &str_buf, 0, sizeof(str_buf)); UART_Send_Message(str_buf);}

圖片

圖片

while(SET == USART_GetFlagStatus(USART1,USART_FLAG_RXNE));

含義是:當接收引腳有數(shù)據時,狀態(tài)寄存器的USART_FLAG_RXNE就會為1,此時USART_GetFlagStatus(USART1,USART_FLAG_RXNE)的返回值就為1(SET),若無數(shù)據則為RESET。

二:USART_FLAG_TXE和USART_FLAG_TC怎么用

這里主要說的是在特殊情況下發(fā)送字符軟件代碼的寫法。

特殊情況指的是:

1.調用發(fā)送字符串函數(shù)“發(fā)送完”本機立即掉電;

2.調用發(fā)送字符串函數(shù)“發(fā)送完”從機立即掉電;

【上面兩種主要用于芯片對電源控制的項目中】

3.調用發(fā)送字符串函數(shù)“發(fā)送完”立刻進入待機或停機;

其實本文主要說的是兩個標志位:USART_FLAG_TXE 和 USART_FLAG_TC.

USART_FLAG_TXE發(fā)送緩沖區(qū)空標志:說明可以往數(shù)據寄存器寫入數(shù)據了,但并不代碼數(shù)據發(fā)送完成了。

USART_FLAG_TC發(fā)送完成標志:這個才是代表USART在緩沖區(qū)的數(shù)據發(fā)送完成了,即從機接收到了數(shù)據。

這兩個標志的區(qū)別在于:它們分別表示數(shù)據在發(fā)送過程中,在兩個不同的階段中的完成情況。TXE 表示數(shù)據被從發(fā)送緩沖區(qū)中取走,轉移到的移位寄存器中,此時發(fā)送緩沖是空的,可以向其中補充新的數(shù)據了。而 TC 則表示最后放入發(fā)送緩沖區(qū)的數(shù)據已經完成了從移位寄存器向發(fā)送信號線 Tx 上的轉移。所以,判定數(shù)據最終發(fā)送完成的標志是 TC,而不是 TXE.

下面講述在不同代碼寫法下,得到不同實驗效果【調試助手接收數(shù)據】:

  1. 常見寫法一 

圖片

圖片

這種寫法在不是特殊(不掉電、不待機等)情況下,問題不大,USART數(shù)據會成功發(fā)送出去。但是在上面說的特殊情況下,問題就來了,代碼只將數(shù)據放到了發(fā)送緩沖區(qū),而沒有發(fā)送出去就掉電或待機了,這個時候其實最后兩個字符是沒有發(fā)送出去的。

2.常見寫法二 

圖片

圖片

這種寫法達到的效果和上面存在不同的就是倒數(shù)第二個數(shù)據發(fā)送出去了,也就是只有最后一個字符是沒有發(fā)送出去的。

3.常見寫法三 

圖片

圖片

這種寫法達到的效果和上面兩種寫法有不一樣,發(fā)送了10個字符。

4.寫法四 

圖片

圖片

這種寫法按理說可以實現(xiàn)功能,但實際多次試驗結果確實第一字節(jié)數(shù)據丟失了。

5.寫法五(正確寫法) 

圖片

圖片

這種寫法是比較完成,為了保守起見,在特殊情況下使用該寫法。。

至此,常見軟件寫法都給出了源代碼和試驗效果,請根據自己實際情況寫代碼驗證。

————————————————

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    五月天丁香婷婷狠狠爱| 亚洲国产成人久久99精品| 东京热男人的天堂一二三区| 老司机激情五月天在线不卡| 欧美日本道一区二区三区| 精品熟女少妇av免费久久野外| 久久热麻豆国产精品视频| 99久久国产综合精品二区| 国产福利一区二区三区四区| 老司机精品视频在线免费看| 日韩av欧美中文字幕| 亚洲最新一区二区三区| 日韩在线一区中文字幕| 好吊妞视频这里有精品| 国产欧美性成人精品午夜| 亚洲欧洲在线一区二区三区| 91麻豆精品欧美一区| 日本二区三区在线播放| 日本二区三区在线播放| 日韩精品综合福利在线观看| 免费特黄一级一区二区三区| 日韩美女偷拍视频久久| 老富婆找帅哥按摩抠逼视频| 深夜福利亚洲高清性感| 日本不卡一本二本三区| 人妻人妻人人妻人人澡| 久久热九九这里只有精品| 99日韩在线视频精品免费| 99久久精品午夜一区| av在线免费观看在线免费观看| 国产一区欧美午夜福利| 热久久这里只有精品视频| 日韩一区二区三区高清在| 免费国产成人性生活生活片| 亚洲欧美日本国产有色| 美女被后入视频在线观看| 九九热精品视频免费在线播放| 国产不卡一区二区四区| 欧美日韩乱码一区二区三区| 超碰在线免费公开中国黄片| 国产亚洲午夜高清国产拍精品|