68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

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

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

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

串口寄存器的值



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


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



相比ST的芯片,航順的抗干擾能力還有待優(yōu)化。相同的硬件,當外部的交流接觸器動作時,會引起電源的瞬間波動,相比ST的芯片,航順的芯片會死機或者復位。當然,這個問題也可以通過優(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

正镶白旗| 龙口市| 长泰县| 上思县| 张掖市| 罗定市| 牟定县| 冀州市| 淳安县| 修水县| 马鞍山市| 庆云县| 大洼县| 梅河口市| 宝丰县| 集贤县| 丹寨县| 塘沽区| 龙岩市| 尼木县| 敦化市| 修武县| 资源县| 峨边| 宜川县| 临泽县| 苍溪县| 正镶白旗| 滨州市| 霸州市| 巫山县| 彰化县| 临安市| 宁国市| 洛宁县| 韩城市| 新竹市| 兴义市| 眉山市| 浏阳市| 邹城市|