日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> HK32/航順 >> 航順單片機RS485應(yīng)用的一個BUG

航順單片機RS485應(yīng)用的一個BUG

關(guān)鍵字:航順單片機 RS485 BUG HK32F103C8T6 作者: 來源: 發(fā)布時間:2022-04-14  瀏覽:9

由于芯片缺貨等各種原因引起的價格與交期原因,ST的芯片價格一直居高不下,迫于成本壓力,最近嘗試使用了航順的單片機HK32F103C8T6,價格要比ST的便宜不少,硬件兼容,軟件需做少許改動,上手容易。跟大家分享一下使用過程中發(fā)現(xiàn)的一些小問題。

串口不進接收中斷

硬件是單片機+SP3485芯片,做485通訊,Modbus協(xié)議,電腦為主機,電路板為從機,總線上也掛了其它板子的從機設(shè)備。
單片機+SP3485芯片




測試過程發(fā)現(xiàn)經(jīng)常485通訊中斷(其它板子正常),重新上電后正常。以為是芯片死機了,但是在線仿真測試的時候發(fā)現(xiàn)芯片并沒有死機,示波器測試串口接收端是有數(shù)據(jù)的,只是串口中斷進不去。


然后單獨一塊板子進行測試,一切正常,但是將485的通訊線短路幾次后,又出現(xiàn)上述情況。判斷是總線沖突導(dǎo)致的,但是其它板子是別人設(shè)計的,不好修改,只好在自己設(shè)計的板子上下功夫。換上ST的單片機,發(fā)現(xiàn)正常了,確定了是HK單片機的問題。硬件沒問題,只能通過修改軟件來解決了,清除接收中斷、溢出中斷、錯誤中斷等都無效,后面在仿真中又發(fā)現(xiàn),出問題后只要將串口寄存器USART1->SR和USART1->DR添加到監(jiān)視串口,程序就可以恢復(fù)了。是不是說明只要讀取一下串口寄存器的值就恢復(fù)了呢。于是想了一個笨辦法:

定義一個全局變量,在滴答定時中斷中+1,在串口接收中斷中清零。由于485總線上一直在通訊,所以串口應(yīng)該會頻繁的進中斷,該變量的值不會很大。在主程序中判斷該變量,如果超過1000,說明超過1秒沒進串口中斷,應(yīng)該是出問題了,此時程序讀取一次串口寄存器的值即可。

串口寄存器的值



if(uart_dect_tick > 1000)
 {
      uart_dect_tick = 0;
      uint8_t temp = USART1->SR;
      temp = USART1->DR;
 }
經(jīng)過測試,發(fā)現(xiàn)確實是這樣,串口接收部分也會偶爾卡一下,但是會自動恢復(fù)。沒有再出現(xiàn)上面的問題。


在網(wǎng)上也發(fā)現(xiàn)其他朋友也遇到了此問題,說明這個芯片確實存在BUG,上面的方法只是一個無奈的解決方案,并不適用于所有情況,要求高的用戶還是要慎重選擇(抗干擾性稍差)。



相比ST的芯片,航順的抗干擾能力還有待優(yōu)化。相同的硬件,當(dāng)外部的交流接觸器動作時,會引起電源的瞬間波動,相比ST的芯片,航順的芯片會死機或者復(fù)位。當(dāng)然,這個問題也可以通過優(yōu)化電源設(shè)計等方法來解決。


總的來說,這個芯片在價格上有其獨有優(yōu)勢,但在性能上也有有待優(yōu)化的空間。


編輯:zzy  最后修改時間:2022-04-14

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

稻城县| 神池县| 长治市| 澄迈县| 东丽区| 雷波县| 东城区| 新乐市| 永吉县| 宁城县| 台东市| 镇远县| 贺州市| 江安县| 富裕县| 东乡| 邹城市| 韶山市| 固镇县| 浮山县| 定结县| 湖州市| 临西县| 平遥县| 安岳县| 海原县| 上饶县| 岐山县| 铁岭县| 邳州市| 长顺县| 加查县| 山丹县| 西和县| 怀安县| 淅川县| 诏安县| 东海县| 新巴尔虎右旗| 屯昌县| 萨迦县|