博客專(zhuān)欄

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

都是串口工具惹的禍

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

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

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

圖片

畢竟之前用的時(shí)候,感覺(jué)也還行,沒(méi)啥大問(wèn)題,比較穩(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āi)始幾百 K 字節(jié),是沒(méi)問(wèn)題的,當(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è)試才行)。

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

所以,出于對(duì)自己的自信,懷疑是串口工具出現(xiàn)了問(wèn)題,于是準(zhǔn)備搬出魚(yú)鷹學(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ō)明魚(yú)鷹的接收程序不存在問(wèn)題。

圖片

這下石錘了,XCOM 工具有問(wèn)題!

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

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

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

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


最后,最近微信出了顯示 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ù)專(zhuān)區(qū)

關(guān)閉