色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

串口發送的這幾種寫法,你用過幾種?

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-11-02 16:20 ? 次閱讀

一、STM32用USART發送字符串

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

pYYBAGIB2JCANeDlAABaPG26uyU307.jpg
poYBAGIB2JKAAgOoAADcQH4C2Vw401.jpg

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

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

二、USART_FLAG_TXE和USART_FLAG_TC怎么用

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

特殊情況指的是:

1)調用發送字符串函數“發送完”本機立即掉電;

2)調用發送字符串函數“發送完”從機立即掉電;

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

3)調用發送字符串函數“發送完”立刻進入待機或停機;

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

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

USART_FLAG_TC發送完成標志:這個才是代表USART在緩沖區的數據發送完成了,即從機接收到了數據。

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

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

常見寫法一

poYBAGIB2JSAYHr3AAALTrKKaP4183.png
pYYBAGIB2JWAEg8vAAAdFRfPn5I835.png

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

2、常見寫法二

pYYBAGIB2JeAQgDlAAAKWjsaLQQ970.png
poYBAGIB2JiAVDcbAAAc5wK0SCo307.png

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

3、常見寫法三

poYBAGIB2JmAOj7BAAALWgTxmTA496.png
pYYBAGIB2JqAEEQAAAAdF6NcPn4113.png

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

4、寫法四

pYYBAGIB2JuAP9qiAAAJIDOgFXs339.png
poYBAGIB2J2AGqmWAAAgHdBothY493.png

這種寫法按理說可以實現功能,但實際多次試驗結果確實第一字節數據丟失了。

5、寫法五(正確寫法)

poYBAGIB2J6AVfi8AAAJtYBIDMc825.png
pYYBAGIB2J-AUs4EAAAdl4VsIbs308.png

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

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2276

    文章

    10947

    瀏覽量

    359168
  • 串口
    +關注

    關注

    14

    文章

    1570

    瀏覽量

    77683
  • USART
    +關注

    關注

    1

    文章

    198

    瀏覽量

    31176
收藏 人收藏

    評論

    相關推薦

    柵漏電流噪聲有哪幾種模型?這幾種模型有什么局限性?

    常見的柵漏電流噪聲模型有哪幾種這幾種模型的特性是什么?有什么局限性?
    發表于 04-09 06:44

    柵漏電流噪聲有哪幾種模型?這幾種模型具有什么特性和局限性?

    柵漏電流噪聲特性是什么?柵漏電流噪聲有哪幾種模型?這幾種模型具有什么特性和局限性?
    發表于 04-14 06:53

    這幾種常見的薄膜電阻器都了解嗎?

    這幾種常見的薄膜電阻器都了解嗎?
    發表于 06-07 06:30

    常見的整流電路有哪幾種?如何去區分這幾種常見的整流電路?

    常見的整流電路有哪幾種?其特性是什么?如何去區分這幾種常見的整流電路?對整流電路中二極管的要求有哪些?
    發表于 07-11 07:19

    什么是串口通信?串口通信的基本方式有哪幾種

    什么是串口通信?串口通信的基本方式有哪幾種?異步數據的數據發送過程有哪些步驟?串口通信的數據格式是怎樣的?
    發表于 07-16 08:21

    如何使用bxCAN過濾器的這幾種工作模式呢

    bxCAN過濾器的工作模式有哪幾種?如何使用bxCAN過濾器的這幾種工作模式呢?對應的代碼示例是怎樣的?
    發表于 11-01 07:07

    串口接收/發送有哪幾種模式?

    串口接收/發送有哪幾種模式?
    發表于 12-09 08:02

    串口發送數據的方式有哪幾種

    串口發送數據的方式有哪幾種
    發表于 12-10 07:49

    STM32串口數據的接收與發送處理的幾種模式分別是哪些

    STM32串口發送數據為什么會丟失呢?怎樣去解決?STM32串口數據的接收與發送處理的幾種模式分別是哪些?
    發表于 12-10 07:37

    C語言的main函數有幾種寫法

    從學習C語言開始就一直寫個一個函數,那么知道它的標準寫法什么什么樣嗎? main函數,又稱主函數,是程序執行的起點,我們平時寫的main函數是什么樣呢? 1,是這樣? main(){} 2,還是
    的頭像 發表于 10-15 11:04 ?3416次閱讀

    串口發送這幾種寫法用過幾種

    它們分別表示數據在發送過程中,在兩個不同的階段中的完成情況。TXE 表示數據被從發送緩沖區中取走,轉移到的移位寄存器中,此時發送緩沖是空的,可以向其中補充新的數據了。而 TC 則表示最后放入
    發表于 02-08 15:16 ?2次下載
    <b class='flag-5'>串口</b><b class='flag-5'>發送</b>的<b class='flag-5'>這幾種</b><b class='flag-5'>寫法</b>,<b class='flag-5'>你</b><b class='flag-5'>用過</b><b class='flag-5'>幾種</b>?

    這幾種MOS管“擊穿”,了解嗎?

    MOSFET的擊穿有哪幾種?Source、Drain、Gate,場效應管的三極:源級S 漏級D 柵級G,(這里不講柵極GOX擊穿了啊,只針對漏極電壓擊穿)。
    發表于 02-09 11:42 ?16次下載
    <b class='flag-5'>這幾種</b>MOS管“擊穿”,<b class='flag-5'>你</b>了解嗎?

    LABVIEW打開調用子VI的幾種辦法

    總結了LABVIEW打開調用子VI的幾種辦法,程序寫法
    發表于 08-20 15:31 ?53次下載

    對HPM6750的這幾種調試方式展開介紹

    HPM6750支持jlink、dap和ft2232等多種調試方式,本文將對這幾種調試方式展開介紹,方便大家靈活選用不同的調試方式。
    的頭像 發表于 02-01 09:56 ?4230次閱讀

    串口屏的幾種安裝方式

    串口屏的幾種安裝方式
    的頭像 發表于 05-10 11:28 ?1802次閱讀
    主站蜘蛛池模板: 成人免费一级毛片在线播放视频 | 4399亚洲AV无码V无码网站 | 久久水蜜桃亚洲AV无码精品偷窥 | 亚洲欧美日本国产在线观18 | 在线国产a不卡 | 伊人久久丁香色婷婷啪啪 | 国产在线中文字幕 | 在线天天看片免费视频观看 | xxww69 | 亚洲 日韩 自拍 视频一区 | 精品国产乱码久久久久久乱码 | 美女漏bb| 校花娇喘呻吟校长陈若雪视频 | 贵妃高h荡肉呻吟np杨玉环 | 小学生偷拍妈妈视频遭性教育 | 暖暖的视频完整视频免费韩国 | 无码日韩人妻精品久久蜜桃免费 | 国内精品国内自产视频 | 亚洲 中文 自拍 无码 | 黄桃AV无码免费一区二区三区 | 国模精品一区二区三区视频 | TUBE19UP老师学生| 国产亚洲精品久久久久久鸭绿欲 | 欧美精品一区二区在线电影 | 亚洲精品一本之道高清乱码 | 免费观看成人www精品视频在线 | 色偷偷男人的天堂a v | 亚洲精品视频在线播放 | 久久不射电影网 | 99久久久无码国产AAA精品 | 国产成人免费高清激情视频 | 一本色道久久综合亚洲精品 | 成人在线观看免费视频 | 亚洲精品AV一二三区无码 | 羲义嫁密着中出交尾gvg794 | 精品99久久久久成人网站 | 亚洲男人片片在线观看 | c了瑜伽老师嗷嗷叫一节课视频 | 亚洲AV一宅男色影视 | 欧洲日韩av无线在码 | 双性人皇上被c到哭 |