STM32用USART發(fā)送字符串
代碼含義是:
當(dāng)接收引腳有數(shù)據(jù)時(shí),狀態(tài)寄存器的USART_FLAG_RXNE就會(huì)為1,此時(shí)USART_GetFlagStatus(USART1,USART_FLAG_RXNE)的返回值就為1(SET),若無數(shù)據(jù)則為RESET。
代碼常見寫法,及其接收數(shù)據(jù)效果
1
這種寫法在不是特殊(不掉電、不待機(jī)等)情況下,問題不大,USART數(shù)據(jù)會(huì)成功發(fā)送出去。但是在上面說的特殊情況下,問題就來了,代碼只將數(shù)據(jù)放到了發(fā)送緩沖區(qū),而沒有發(fā)送出去就掉電或待機(jī)了,這個(gè)時(shí)候其實(shí)最后兩個(gè)字符是沒有發(fā)送出去的。
2
這種寫法達(dá)到的效果和上面存在不同的就是倒數(shù)第二個(gè)數(shù)據(jù)發(fā)送出去了,也就是只有最后一個(gè)字符是沒有發(fā)送出去的。
3
這種寫法達(dá)到的效果和上面兩種寫法有不一樣,發(fā)送了10個(gè)字符。
4
這種寫法按理說可以實(shí)現(xiàn)功能,但實(shí)際多次試驗(yàn)結(jié)果確實(shí)第一字節(jié)數(shù)據(jù)丟失了。
5
這種寫法是比較完成,為了保守起見,在特殊情況下使用該寫法。
審核編輯:湯梓紅
-
寄存器
+關(guān)注
關(guān)注
31文章
5268瀏覽量
119646 -
STM32
+關(guān)注
關(guān)注
2263文章
10846瀏覽量
353694 -
串口
+關(guān)注
關(guān)注
14文章
1535瀏覽量
75881 -
字符串
+關(guān)注
關(guān)注
1文章
567瀏覽量
20432
原文標(biāo)題:STM32串口發(fā)送字符串的幾種寫法
文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論