博客專欄

EEPW首頁(yè) > 博客 > 都是串口工具惹的禍

都是串口工具惹的禍

發(fā)布人:魚鷹談單片機(jī) 時(shí)間:2022-05-23 來(lái)源:工程師 發(fā)布文章

五一假期這幾天,魚鷹準(zhǔn)備寫一個(gè)方便使用、移植的串口框架(適用于 STM32、GD32),花了幾天時(shí)間,終于把 DMA 發(fā)送、接收的框架寫好了,進(jìn)入了最終的測(cè)試階段。

于是魚鷹使用 XCOM 這個(gè)串口工具準(zhǔn)備測(cè)試一波。

圖片

畢竟之前用的時(shí)候,感覺也還行,沒啥大問題,比較穩(wěn)定,一般串口穩(wěn)定性測(cè)試的時(shí)候都用它。

不過(guò)這次通過(guò)定時(shí) 20 ms 發(fā)送字符串的方式驗(yàn)證串口接收程序,發(fā)現(xiàn)工具發(fā)送的字節(jié)數(shù)和單片機(jī)接收的字節(jié)數(shù)總是對(duì)不上

剛開始幾百 K 字節(jié),是沒問題的,當(dāng)達(dá)到 1 M 左右字節(jié)時(shí),發(fā)現(xiàn)總是單片機(jī)接收的字節(jié)數(shù)大于工具顯示的已發(fā)送字節(jié)數(shù),莫名其妙(從這得到經(jīng)驗(yàn),代碼測(cè)試一定要經(jīng)過(guò)長(zhǎng)時(shí)間測(cè)試才行)。

魚鷹對(duì)自己寫的無(wú)鎖隊(duì)列串口程序還是比較自信的《終極串口接收方式,極致效率》《附源碼-終極串口接收(二)》,畢竟驗(yàn)證了多年,雖然這次為了減少空間使用,稍微修改了一下代碼,但也檢查了使用這些變量的位置,并沒有發(fā)現(xiàn)問題。

所以,出于對(duì)自己的自信,懷疑是串口工具出現(xiàn)了問題,于是準(zhǔn)備搬出魚鷹學(xué)習(xí) 51 時(shí)的老古董工具:STC -ISP

圖片

同樣的代碼,同樣的字符串,同樣的 20 ms 定時(shí)發(fā)送,發(fā)現(xiàn)不管是短期測(cè)試,還是長(zhǎng)期測(cè)試,工具顯示的發(fā)送數(shù)據(jù)長(zhǎng)度和代碼打印的接收數(shù)據(jù)長(zhǎng)度總是保持一致,這說(shuō)明魚鷹的接收程序不存在問題。

圖片

這下石錘了,XCOM 工具有問題!

虧咱那么信任它。果然除了自己,誰(shuí)都要持懷疑態(tài)度。

做技術(shù)就是如此,懷疑所有,直到你通過(guò)測(cè)試消除你的懷疑。

STC 這款多功能工具,魚鷹也是用了很久了,大學(xué)四年+工作一年都在用它的串口功能,直到后來(lái),用了 XCOM,感覺也不錯(cuò),而 STC-ISP 軟件,如果串口拔出,操作不當(dāng)(沒有關(guān)閉串口的情況下直接發(fā)送數(shù)據(jù)),會(huì)導(dǎo)致該工具卡死(只能通過(guò)任務(wù)管理器關(guān)閉,很煩),而且界面做的也不是很好,于是棄用了。

不過(guò)現(xiàn)在看來(lái),有些工具看著很 LOW,真正用起來(lái),核心功能還是非常給力的,不應(yīng)該有了新歡,忘了舊愛。


最后,最近微信出了顯示 IP 歸屬地的功能,大家可以在此留言看看自己的歸屬地在哪,是不是還在國(guó)內(nèi)。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

加速度計(jì)相關(guān)文章:加速度計(jì)原理


關(guān)鍵詞: 單片機(jī)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉