在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HAL_UART_Transmit阻塞時(shí)會(huì)影響串口中斷接收嗎?

冬至子 ? 來源:一起學(xué)習(xí)軟硬件設(shè)計(jì) ? 作者:哼唧狗 ? 2023-10-26 14:24 ? 次閱讀

問題描述:

最近項(xiàng)目里使用了兩路串口透傳數(shù)據(jù),串口3中斷接收數(shù)據(jù),組包后通過串口1阻塞發(fā)送出去。組完包的數(shù)據(jù)近800個(gè)字符,哼唧狗使用HAL_UART_Transmit()函數(shù)進(jìn)行發(fā)送,理論和實(shí)際驗(yàn)證發(fā)送完一包數(shù)據(jù)115200波特率下需要耗時(shí)近70ms。

哼唧狗一直有個(gè)疑問,在串口1發(fā)送的70ms內(nèi),串口3的中斷接收會(huì)不會(huì)受影響呢?

這個(gè)疑問困擾了自己好幾天了,由于自己對(duì)串口理解不深,今晚實(shí)在忍不住就去芯片之家群里問大牛們?nèi)チ恕?/p>

得到的一個(gè)大神回復(fù)是這樣的:

圖片

** 下面是測試過程分享。**

串口1阻塞發(fā)送800個(gè)字符,然后串口3中斷接收,每次接收到一個(gè)字符變量加1,并在串口中斷回調(diào)函數(shù)內(nèi)打印該變量值。通過串口助手給串口3發(fā)送數(shù)據(jù),每次發(fā)送一個(gè)字符。看發(fā)送過程中是否會(huì)受影響。

main函數(shù)中:

while (1)
    {
        //800個(gè)字符 理論串口發(fā)送70ms
        sprintf(buf,"%s","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn");      
        while(1)
        {
            HAL_UART_Transmit(&huart1, (uint8_t *)buf, strlen(buf),1000);
            //加一個(gè)指示燈翻轉(zhuǎn)
            HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
        }
    }

串口1中斷回調(diào)函數(shù):

int conut = 0;
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    if(huart == &huart3)
    {
        conut = conut + 1;
        printf("conut = %d n ",conut);
        HAL_UART_Receive_IT(&huart3, (uint8_t *)Rx2478Tmp, RxDataTmp);
    }
}

串口助手模擬發(fā)送:

圖片

測試結(jié)果:

不受影響。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接收機(jī)
    +關(guān)注

    關(guān)注

    8

    文章

    1186

    瀏覽量

    53674
  • 回調(diào)函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    11626
  • 串口中斷
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    14019
  • Uart串口
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    6862
  • HAL庫
    +關(guān)注

    關(guān)注

    1

    文章

    121

    瀏覽量

    6385
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HAL_UART_Receive_IT,HAL_UART_Transmit不能正常接收數(shù)據(jù)的原因?

    _Receive_IT 失敗后不能再開中斷。 stm32f103 HAL 庫的串口中斷方式接收數(shù)據(jù)的函數(shù)HAL_UART_Receive_
    發(fā)表于 04-03 07:22

    STM32G030F6用串口中斷函數(shù)接收數(shù)據(jù),發(fā)送數(shù)據(jù)就死機(jī)怎么解決?

    調(diào)用HAL_UART_Transmit_IT往外發(fā)也回導(dǎo)致死機(jī)。在網(wǎng)上看了很多的串口案例,都是這么實(shí)現(xiàn)的,不清楚為啥我的平臺(tái)會(huì)一觸發(fā)串口中斷就死機(jī),希望有大俠可以幫忙解答!! 下面是用
    發(fā)表于 07-11 06:44

    z2:采用STM32cubeMX來配置串口接收中斷

    ,0x65,0x01,0x02,0x03,0x04,0x05,0x06};uint8_t RxData[8];2、如果是輪詢方式發(fā)送數(shù)據(jù),采用HAL_UART_Transmit(&huart1, TxData,8,10);如果是中斷方式
    發(fā)表于 07-24 10:27

    cubemx配置的串口中斷發(fā)送HAL_UART_Transmit_IT不行

    為何HAL_UART_Transmit可發(fā)送,改成HAL_UART_Transmit_IT就不行了cube配置的stm32f407系統(tǒng)其他代碼均一樣while(HAL
    發(fā)表于 12-10 08:39

    請(qǐng)問怎么用HAL_UART_Transmit發(fā)送數(shù)值型數(shù)據(jù)?

    如何用HAL_UART_Transmit 發(fā)送數(shù)值型數(shù)據(jù)?我看例程,都是發(fā)送字符型數(shù)據(jù)的uint8_t TxData[10]= "01234abcde"
    發(fā)表于 02-19 07:40

    HAL_UART_Receive_IT和HAL_UART_Transmit一起用進(jìn)不到中斷

    不到中斷里。這是為什么呢?最開始我以為是因?yàn)椴ㄌ芈实停以O(shè)置的最大發(fā)送時(shí)間太短導(dǎo)致的。后來改長時(shí)間后,發(fā)現(xiàn)依然有幾率出現(xiàn)這樣的問題。請(qǐng)問HAL_UART_Transmit是否會(huì)造成了串口被鎖,或者處于繁忙狀態(tài),是否能夠恢復(fù)?或者
    發(fā)表于 03-14 08:38

    STM32的串口接收機(jī)制的主要流程有哪些

    STM32的串口接收機(jī)制??與阻塞式發(fā)送函數(shù)HAL_UART_Transmit配套,有個(gè)阻塞式的接收
    發(fā)表于 01-06 07:45

    HAL_UART_Transmit函數(shù)底層實(shí)現(xiàn)過程

    目錄底層代碼代碼實(shí)現(xiàn)講解代碼細(xì)節(jié)底層代碼HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData
    發(fā)表于 02-22 07:53

    如果TX未完成時(shí)RX,HAL_UART_Transmit() 和 HAL_UART_Receive_IT() 失敗怎么處理?

    我曾經(jīng)使用 HAL_UART_Transmit() 將 AT 命令發(fā)送到模塊:void send_uart(char * buffer){uint16_t buffer_size = strlen
    發(fā)表于 12-02 07:36

    如何在使用HAL_UART_Transmit_IT時(shí)僅處理UART RX中斷事件?

    使用 HAL_UART_Transmit 傳輸數(shù)據(jù)時(shí),我可以在 IRQHandler 中很好地處理接收到的字符。但是當(dāng)我使用 HAL_UART_Transmit_IT 時(shí),我的 IRQHandler 會(huì)為我傳輸?shù)拿總€(gè)
    發(fā)表于 12-28 07:40

    HAL_UART_Transmit_IT阻塞如何立即返回?

    _StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef * huart, uint8_t * pData, uint16_t Size)該函數(shù)由 CubeIDE 生成。事實(shí)證明,此調(diào)用會(huì)
    發(fā)表于 01-10 08:35

    STM32使用CubeMAX配置的串口中斷接收方法

    STM32使用CubeMAX配置的串口中斷接收方法目錄1.定位串口中斷發(fā)生的地方2.處理串口中斷接收的流程是:(1)初始化
    發(fā)表于 12-14 18:45 ?28次下載
    STM32使用CubeMAX配置的<b class='flag-5'>串口中斷</b><b class='flag-5'>接收</b>方法

    【STM32 HALUART串口通訊

    完成,則不再接收數(shù)據(jù)到指定緩沖區(qū),返回超時(shí)標(biāo)志(HAL_TIMEOUT)發(fā)送函數(shù):HAL_UART_Transmit()接收函數(shù):HAL_UART
    發(fā)表于 12-24 18:44 ?5次下載
    【STM32 <b class='flag-5'>HAL</b>】<b class='flag-5'>UART</b><b class='flag-5'>串口</b>通訊

    STM32 HALUART 串口讀寫功能筆記

    STM32L0 HALUART 串口讀寫功能串口發(fā)送功能:uint8_t TxData[10]= “01234abcde”;HAL_UART_T
    發(fā)表于 12-27 19:11 ?13次下載
    STM32 <b class='flag-5'>HAL</b>庫 <b class='flag-5'>UART</b> <b class='flag-5'>串口</b>讀寫功能筆記

    HAL_UART_Transmit函數(shù)底層實(shí)現(xiàn)

    目錄底層代碼代碼實(shí)現(xiàn)講解代碼細(xì)節(jié)底層代碼HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData
    發(fā)表于 12-27 19:24 ?8次下載
    <b class='flag-5'>HAL_UART_Transmit</b>函數(shù)底層實(shí)現(xiàn)
    主站蜘蛛池模板: 午夜噜噜噜私人影院在线播放 | 最新亚洲人成网站在线影院 | 美女视频黄又黄又免费高清 | 国产一级爱c片免费播放 | 久久综合偷偷噜噜噜色 | 亚洲福利视频网址 | 天天摸天天做天天爽天天弄 | 韩国成人毛片aaa黄 韩国床戏合集三小时hd中字 | 亚洲免费网站在线观看 | 欧美性猛交xxxx乱大交中文 | 中文在线最新版天堂 | 欧美黄色片视频 | 天天射网站 | 天天操天天做 | 中国一级特黄特级毛片 | 五月天婷婷色图 | 亚洲二区在线观看 | 免费黄色小视频 | 免费污视频在线 | 久艹精品 | 国产黄色网 | 18videosex欧美69 | 69xxx日本护士 | 美女黄页网 | 黄视频网站免费看 | 日本特黄a级高清免费大片18 | 韩国三级中文字幕hd | 欧美精品videofree720p | 女性一级全黄生活片 | 天天干天天干天天干天天干天天干 | 日韩精品在线第一页 | 色婷婷六月丁香七月婷婷 | 欧美成人 色 图 | 天天添天天干 | 五月天婷婷激情 | 色爱区综合五月激情 | 欧美亚洲天堂网 | 伊人成综合| 97色偷偷| 老师下面好湿好紧好滑好想要 | h视频在线免费观看 |