h1_key

當(dāng)前位置:首頁 >新聞資訊 > 技術(shù)文章>航順芯片>老版本HK32F103串口USART出現(xiàn)數(shù)據(jù)錯(cuò)誤原因
老版本HK32F103串口USART出現(xiàn)數(shù)據(jù)錯(cuò)誤原因
2022-11-29 1376次

  


  老版本HK32F103系列芯片的串口通訊時(shí),偶爾出現(xiàn)數(shù)據(jù)錯(cuò)誤的原因具體有以下幾點(diǎn):

    1.串口通訊時(shí)因?yàn)榭赡艽嬖诶塾?jì)誤差偶爾造成數(shù)據(jù)錯(cuò)誤。

    2.用戶在配置串口波特率參數(shù)時(shí)因?yàn)镠K有細(xì)微地方與ST不同。

    下面就以上原因,用戶根據(jù)如下修改,可以使串口通訊正常工作。

    對于波特率累計(jì)誤差,用戶可以采用三種方式來解決

    1. 修改STOP bit位數(shù),把stop bit設(shè)成0.5,但是我們芯片的發(fā)送stop bit寬度也會變成0.5。這種方法要注意的是:對方芯片有可能無法接受0.5 stop bit。

    2.把波特率設(shè)置稍微提高1%左右。比如對方發(fā)出115200bps,HK的芯片波特率需要設(shè)置為115200*1.01=116352bps(偏差小于1%)。

    3.建議HK芯片和對方發(fā)送數(shù)據(jù)時(shí),都不要背靠背發(fā)送。

    關(guān)于上述第二種波特率參數(shù)配置,主要是用戶需要較高的波特率時(shí),導(dǎo)致波特率配置寄存器的整數(shù)部分為1,還存在小數(shù)部分的情況。這時(shí)HK芯片對小數(shù)部分會被忽略掉,導(dǎo)致USART輸出的bit寬度不對。出現(xiàn)這種應(yīng)用時(shí),用戶需要調(diào)整USART工作頻率和波特率的關(guān)系,避免波特率配置寄存器的整數(shù)部分為1,還存在小數(shù)部分。


    應(yīng)用串口(USART)還應(yīng)注意以下2點(diǎn)

    1.串口USART RX IDLE中斷問題

    用戶串口通訊打開了RX IDLE中斷后出現(xiàn)反復(fù)進(jìn)入的原因是因?yàn)镮DLE中斷標(biāo)志不能清除。


    ◆解決方法:

    Step1.關(guān)閉IDLE中斷.

    Step2.在RXNE事件后:

    A.清除IDLE標(biāo)志.

    B.然后使能IDLE中斷.

    Step3.在IDLE中斷觸發(fā)后: 除能IDLE中斷.

    2.串口USART使用DMA傳輸時(shí), DMA通道關(guān)閉后DMA_CNDTRn值Reload的問題。


    ◆解決方法:

    這個(gè)與我們HK的DMA設(shè)置與ST略有不同,HK的DMA通道在關(guān)閉后,對應(yīng)的DMA_CNDTRn的值會被重新加載為本次發(fā)送開始前用戶配置的值(即已經(jīng)發(fā)送的數(shù)據(jù)個(gè)數(shù)).如果客戶在dma發(fā)送完成后關(guān)閉了對應(yīng)的通道,然后讀取其DMA_CNDTRn的值就會出現(xiàn)非零值.如果用戶想要使用拼接方式發(fā)送數(shù)據(jù)(在一次數(shù)據(jù)未發(fā)完前追加新的數(shù)據(jù)發(fā)送)且前一次數(shù)據(jù)已發(fā)送完成的情況下就會出現(xiàn)錯(cuò)誤的數(shù)據(jù)拼接。


    處理數(shù)據(jù)拼接的解決方案

    如果是單次數(shù)據(jù)發(fā)送模式,用戶在DMA數(shù)據(jù)發(fā)送完成后不用關(guān)閉DMA通道,在追加新的數(shù)據(jù)發(fā)送時(shí),先在未關(guān)閉DMA通道的情況下調(diào)用庫函數(shù)讀出DMA_CNDTRn寄存器的值,再關(guān)閉DMA通道,然后追加新的數(shù)據(jù)到緩存buffer(可能是用戶在RAM中定義的一個(gè)數(shù)組),再啟用DMA發(fā)送,這樣來完成數(shù)據(jù)的拼接發(fā)送。

  • 航順芯片HK32M060高速風(fēng)筒BLDC MCU解決方案
  • 航順芯片推出的HK32M060高速風(fēng)筒BLDC MCU解決方案,具有航順自研電機(jī)加速單元與實(shí)時(shí)采樣效率,可提高電機(jī)的工作效率和控制精確度。同時(shí),HK32M060系列產(chǎn)品相較于同類產(chǎn)品集成度更高,可極大精簡板級器件,節(jié)省BOM成本。
    2023-12-27 374次
  • 消防栓裝上航順芯HK32L08x
  • 消防栓是重要的火災(zāi)控制設(shè)備,但在實(shí)際應(yīng)用中,消防栓存在安裝分散和管理復(fù)雜等問題,于是火災(zāi)現(xiàn)場供水壓力不足、搶修停水等現(xiàn)象屢見不鮮,嚴(yán)重影響滅火工作,造成重大人身財(cái)產(chǎn)損失,影響城市消防安全。
    2023-10-30 460次
  • 13萬轉(zhuǎn)高速吹風(fēng)機(jī)HK32F030C8T6解決方案
  • 航順芯片作為國產(chǎn)32位MCU供應(yīng)商,根據(jù)市場需求,推出了基于國產(chǎn)32位MCU HK32F030C8T6芯片的高速吹風(fēng)機(jī)整體解決方案,以其高轉(zhuǎn)速(高達(dá)13萬轉(zhuǎn))、精準(zhǔn)恒溫、高性能低成本、高可靠性等優(yōu)點(diǎn),深受客戶認(rèn)可,已在多家知名品牌客戶中量產(chǎn)出貨。
    2023-06-19 715次
  • HK32F0301MxC 15KV脈沖點(diǎn)火抗干擾分析
  • HK32F0301MxC在廚房環(huán)境中,廚電脈沖點(diǎn)火高達(dá)一萬五千伏,產(chǎn)生的干擾對MCU確實(shí)是一項(xiàng)硬核考驗(yàn),廚電設(shè)備的開關(guān)、點(diǎn)火等操作會產(chǎn)生大量的電磁干擾,這些干擾可能會對MCU的正常工作造成影響,甚至導(dǎo)致系統(tǒng)故障或安全事故。
    2023-05-08 604次
  • 航順芯片32位平替8位MCU神器HK32F0301M
  • 航順芯片從2019年立項(xiàng),2020年2月首次發(fā)布推出第一顆低于1元人民幣的經(jīng)濟(jì)型32位MCU HK32F030M家族替代8位MCU以來,在高性能、高性價(jià)比的魅力下得到了廣大客戶的熱烈追捧,應(yīng)用場景與領(lǐng)域越來越廣。
    2023-04-18 623次

    萬聯(lián)芯微信公眾號

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺
    關(guān)注公眾號,優(yōu)惠活動(dòng)早知道!
    10s
    溫馨提示:
    訂單商品問題請移至我的售后服務(wù)提交售后申請,其他需投訴問題可移至我的投訴提交,我們將在第一時(shí)間給您答復(fù)
    返回頂部