中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

定制制作網(wǎng)站哪家好惠州seo網(wǎng)站推廣

定制制作網(wǎng)站哪家好,惠州seo網(wǎng)站推廣,網(wǎng)站用什么技術(shù)做的,新式裝修一、HAL_UART_Transmit和HAL_UART_Transmit_IT的區(qū)別 1. HAL_UART_Transmit_IT(非阻塞模式): HAL_UART_Transmit_IT 是非阻塞的傳輸函數(shù),也就是說,當(dāng)你調(diào)用 HAL_UART_Transmit_IT 時(shí),它不會(huì)等到數(shù)據(jù)完全發(fā)…

一、HAL_UART_Transmit和HAL_UART_Transmit_IT的區(qū)別

1. HAL_UART_Transmit_IT(非阻塞模式):

HAL_UART_Transmit_IT 是非阻塞的傳輸函數(shù),也就是說,當(dāng)你調(diào)用 HAL_UART_Transmit_IT 時(shí),它不會(huì)等到數(shù)據(jù)完全發(fā)送完就返回控制權(quán)。它會(huì)啟動(dòng)一個(gè)中斷,通知你數(shù)據(jù)發(fā)送完成,允許你繼續(xù)執(zhí)行其他任務(wù)。這種方式是為了讓你在發(fā)送數(shù)據(jù)的過程中,能夠繼續(xù)處理其他操作,不會(huì)因?yàn)榈却龜?shù)據(jù)發(fā)送完成而阻塞。

由于數(shù)據(jù)傳輸是異步的,當(dāng)你調(diào)用 HAL_UART_Transmit_IT 時(shí),它會(huì)立即返回,而數(shù)據(jù)的發(fā)送是由硬件自動(dòng)完成的。為了保證數(shù)據(jù)完全發(fā)送完畢,你需要通過檢查標(biāo)志位(如 UART_FLAG_TC)或等待 HAL_UART_TxCpltCallback 被調(diào)用來確認(rèn)數(shù)據(jù)傳輸已經(jīng)完成。

如下圖,需要通過標(biāo)志位判斷是否發(fā)送完成:

2. HAL_UART_Transmit(阻塞模式):

HAL_UART_Transmit 是阻塞的傳輸函數(shù)。也就是說,當(dāng)你調(diào)用 HAL_UART_Transmit 時(shí),函數(shù)會(huì)阻塞,直到所有數(shù)據(jù)都被完全發(fā)送完畢。它會(huì)等待硬件完成數(shù)據(jù)的發(fā)送,并且只有在發(fā)送完成后才會(huì)返回。你不需要手動(dòng)檢查 UART_FLAG_TC,因?yàn)楹瘮?shù)本身會(huì)等到發(fā)送完成才會(huì)退出。

3. 為什么 HAL_UART_Transmit_IT 需要判斷發(fā)送完成,而 HAL_UART_Transmit 不用?

  • 非阻塞 vs 阻塞: HAL_UART_Transmit_IT 是非阻塞的,它只啟動(dòng)發(fā)送過程并立即返回,你需要通過中斷回調(diào)或者標(biāo)志位來確定發(fā)送是否完成。由于它沒有等待數(shù)據(jù)發(fā)送完畢,因此你必須在發(fā)送后檢查是否已完成。

  • 阻塞模式: HAL_UART_Transmit 是阻塞的,函數(shù)內(nèi)部會(huì)等待直到數(shù)據(jù)完全發(fā)送完畢,所以你不需要手動(dòng)檢查發(fā)送是否完成。

4、示例

錯(cuò)誤示例:HAL_UART_Transmit_IT使用時(shí)沒有標(biāo)志位判斷中斷,導(dǎo)致數(shù)據(jù)被截?cái)?#xff0c;不能接收電腦發(fā)送的abc。

數(shù)據(jù)被截?cái)?#xff1a; 由于 HAL_UART_Transmit_IT 是非阻塞的,它啟動(dòng)了發(fā)送后立刻返回。這意味著在你啟動(dòng) str2 的發(fā)送后,可能很快就進(jìn)入了接收部分,而 UART 的發(fā)送緩沖區(qū)可能還沒有完全發(fā)送 str2,此時(shí)如果你再次啟動(dòng)發(fā)送操作,就會(huì)中斷之前的發(fā)送,導(dǎo)致數(shù)據(jù)沒有完全傳輸。

正確操作:

或者

正確結(jié)果:

二、為什么串口發(fā)送不需要斷,而接收需要中斷

  • 發(fā)送數(shù)據(jù):

    • 串口數(shù)據(jù)發(fā)送是由軟件驅(qū)動(dòng)的過程。一般來說,數(shù)據(jù)發(fā)送到串口的寄存器中后,硬件會(huì)負(fù)責(zé)將其逐個(gè)字節(jié)發(fā)送出去。發(fā)送過程中,CPU 主要負(fù)責(zé)將數(shù)據(jù)寫入寄存器或緩沖區(qū),而并不需要實(shí)時(shí)監(jiān)控每一個(gè)發(fā)送過程。
    • 因?yàn)榘l(fā)送的速度通常比較穩(wěn)定且有足夠的時(shí)間來處理下一個(gè)字節(jié),CPU 可以通過簡(jiǎn)單的輪詢(Polling)方式來確保數(shù)據(jù)的發(fā)送。
    • 串口發(fā)送過程中,硬件會(huì)根據(jù)串口設(shè)置(如波特率)自動(dòng)管理發(fā)送隊(duì)列。當(dāng)發(fā)送緩沖區(qū)空閑時(shí),CPU 只需要繼續(xù)寫入數(shù)據(jù),或者使用中斷通知“數(shù)據(jù)發(fā)送完成”。
  • 接收數(shù)據(jù):

    • 接收數(shù)據(jù)是一個(gè)實(shí)時(shí)性的過程,硬件通過中斷來通知 CPU 什么時(shí)候有新的數(shù)據(jù)可以讀取。如果不使用中斷,CPU 就需要通過輪詢的方式不斷檢查串口接收緩沖區(qū)的狀態(tài)。這對(duì)于實(shí)時(shí)性要求較高的應(yīng)用來說會(huì)增加負(fù)擔(dān),降低效率。
    • 當(dāng)接收到一個(gè)字節(jié)數(shù)據(jù)時(shí),中斷可以直接通知 CPU 進(jìn)行處理。這使得接收數(shù)據(jù)更加及時(shí)和高效,避免了輪詢帶來的延遲和 CPU 資源浪費(fèi)。

接收中斷:

如下圖:

我們最開始會(huì)開啟中斷,注意:要使用中斷啟用函數(shù)(HAL_UART_Receive_IT)才能真正啟用中斷,原因我在前幾篇的文章有提到過。

這里啟用中斷后,UART一當(dāng)檢測(cè)到接受信號(hào)會(huì)進(jìn)入到中斷服務(wù)函數(shù)(HAL_UART_IRQHandler)

接著會(huì)進(jìn)入到回調(diào)函數(shù)(HAL_UART_RxCpltCallback),執(zhí)行我們想要的操作了,比如把數(shù)據(jù)放儲(chǔ)存起來。

注意:如果你接收后沒有操作,數(shù)據(jù)雖然接收了,但沒有儲(chǔ)存,會(huì)丟失。

我這里的回調(diào)函數(shù)是把數(shù)據(jù)放入到g_RecvChar中,如果我們要檢查數(shù)據(jù),就去這里面查找。

接收數(shù)據(jù)的讀取:你也可以不讀取,反正已經(jīng)按照你的要求放入容器中了

如上圖,我這UART1GetChar(&c)就是去讀取被放入容器里面的數(shù)據(jù)。

http://www.risenshineclean.com/news/45779.html

相關(guān)文章:

  • 服裝官網(wǎng)網(wǎng)站建設(shè)百度推廣登陸后臺(tái)
  • 幫你省網(wǎng)站怎么做怎樣做網(wǎng)絡(luò)銷售平臺(tái)
  • 靜態(tài)網(wǎng)頁和動(dòng)態(tài)網(wǎng)頁的區(qū)別是什么魔貝課凡seo課程好嗎
  • 網(wǎng)站服務(wù)器打不開大數(shù)據(jù)培訓(xùn)班需要多少錢
  • 邢臺(tái)市做網(wǎng)站seo工具不包括
  • 昔陽網(wǎng)站建設(shè)注冊(cè)域名在哪里注冊(cè)
  • php做門戶網(wǎng)站2024年最新時(shí)事新聞
  • 電影頻道做的網(wǎng)站廣告谷歌手機(jī)版瀏覽器官網(wǎng)
  • 小企業(yè)網(wǎng)絡(luò)營(yíng)銷外包南寧seo產(chǎn)品優(yōu)化服務(wù)
  • wordpress建站好嗎武漢seo搜索優(yōu)化
  • 網(wǎng)絡(luò)營(yíng)銷常用的方法seo 優(yōu)化技術(shù)難度大嗎
  • 專業(yè)做網(wǎng)站公司排名人工智能培訓(xùn)機(jī)構(gòu)哪個(gè)好
  • 做壁畫的網(wǎng)站湖南網(wǎng)站優(yōu)化
  • 如何在搜索中找到自己做的網(wǎng)站設(shè)計(jì)模板網(wǎng)站
  • msn網(wǎng)站制作windows優(yōu)化大師怎么用
  • 做商業(yè)廣告有什么網(wǎng)站好推銷的北大青鳥職業(yè)技術(shù)學(xué)院簡(jiǎn)介
  • 女人能做網(wǎng)站開發(fā)嗎世界杯比分
  • 做網(wǎng)站可以申請(qǐng)專利嗎優(yōu)化防疫措施
  • 非響應(yīng)式網(wǎng)站改響應(yīng)式百度推廣賬號(hào)
  • 淘寶了做網(wǎng)站賣什么好百度怎么優(yōu)化網(wǎng)站關(guān)鍵詞
  • 網(wǎng)站開發(fā)實(shí)施計(jì)劃與安排網(wǎng)絡(luò)推廣培訓(xùn)
  • 定制網(wǎng)站前準(zhǔn)備手機(jī)版怎么用百度快照
  • 廣東企業(yè)網(wǎng)站模板推薦長(zhǎng)春網(wǎng)站優(yōu)化團(tuán)隊(duì)
  • 保定專業(yè)做網(wǎng)站seo網(wǎng)絡(luò)貿(mào)易網(wǎng)站推廣
  • 包頭教育平臺(tái)網(wǎng)站建設(shè)seo網(wǎng)站推廣免費(fèi)
  • 網(wǎng)站建設(shè)工具有哪些寧波seo整體優(yōu)化公司
  • 公安網(wǎng)站建設(shè)自查報(bào)告我要學(xué)電腦哪里有短期培訓(xùn)班
  • 企業(yè)推廣網(wǎng)站百度免費(fèi)推廣平臺(tái)
  • 專業(yè)做網(wǎng)站產(chǎn)品上架的有嗎百度seo規(guī)則最新
  • 深圳商城網(wǎng)站建設(shè)報(bào)價(jià)沈陽seo按天計(jì)費(fèi)