都是串口工具惹的禍
五一假期這幾天,魚鷹準備寫一個方便使用、移植的串口框架(適用于 STM32、GD32),花了幾天時間,終于把 DMA 發(fā)送、接收的框架寫好了,進入了最終的測試階段。
于是魚鷹使用 XCOM 這個串口工具準備測試一波。
畢竟之前用的時候,感覺也還行,沒啥大問題,比較穩(wěn)定,一般串口穩(wěn)定性測試的時候都用它。
不過這次通過定時 20 ms 發(fā)送字符串的方式驗證串口接收程序,發(fā)現(xiàn)工具發(fā)送的字節(jié)數(shù)和單片機接收的字節(jié)數(shù)總是對不上。
剛開始幾百 K 字節(jié),是沒問題的,當達到 1 M 左右字節(jié)時,發(fā)現(xiàn)總是單片機接收的字節(jié)數(shù)大于工具顯示的已發(fā)送字節(jié)數(shù),莫名其妙(從這得到經(jīng)驗,代碼測試一定要經(jīng)過長時間測試才行)。
魚鷹對自己寫的無鎖隊列串口程序還是比較自信的《終極串口接收方式,極致效率》《附源碼-終極串口接收(二)》,畢竟驗證了多年,雖然這次為了減少空間使用,稍微修改了一下代碼,但也檢查了使用這些變量的位置,并沒有發(fā)現(xiàn)問題。
所以,出于對自己的自信,懷疑是串口工具出現(xiàn)了問題,于是準備搬出魚鷹學習 51 時的老古董工具:STC -ISP
同樣的代碼,同樣的字符串,同樣的 20 ms 定時發(fā)送,發(fā)現(xiàn)不管是短期測試,還是長期測試,工具顯示的發(fā)送數(shù)據(jù)長度和代碼打印的接收數(shù)據(jù)長度總是保持一致,這說明魚鷹的接收程序不存在問題。
這下石錘了,XCOM 工具有問題!
虧咱那么信任它。果然除了自己,誰都要持懷疑態(tài)度。
做技術(shù)就是如此,懷疑所有,直到你通過測試消除你的懷疑。
STC 這款多功能工具,魚鷹也是用了很久了,大學四年+工作一年都在用它的串口功能,直到后來,用了 XCOM,感覺也不錯,而 STC-ISP 軟件,如果串口拔出,操作不當(沒有關(guān)閉串口的情況下直接發(fā)送數(shù)據(jù)),會導致該工具卡死(只能通過任務管理器關(guān)閉,很煩),而且界面做的也不是很好,于是棄用了。
不過現(xiàn)在看來,有些工具看著很 LOW,真正用起來,核心功能還是非常給力的,不應該有了新歡,忘了舊愛。
最后,最近微信出了顯示 IP 歸屬地的功能,大家可以在此留言看看自己的歸屬地在哪,是不是還在國內(nèi)。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。
加速度計相關(guān)文章:加速度計原理