欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2907|回復: 7
收起左側

USB轉RS232線通信時,接收超過64字節數據時,空閑中斷在64字節就會觸發

[復制鏈接]
ID:744809 發表于 2023-8-10 17:29 | 顯示全部樓層 |閱讀模式
請教一個問題,串口助手用USB轉232線(圖2)進行通訊時,115200波特率可以發送不限長度的數據,STM32的空閑中斷都能當成一幀數據。但是用256000/460800等更高波特率時,一旦超過64字節,就會在接收到64字節時就發生空閑中斷,導致接收錯誤。我用圖1 所示的設備,則可以進行超過115200波特率的通信。是因為232芯片本身的緩存空間是64字節嗎

圖1

圖1

圖2

圖2
回復

使用道具 舉報

ID:883242 發表于 2023-8-10 23:07 | 顯示全部樓層
STM32一側的緩存長度是你自己定義的,問大家干什么?
回復

使用道具 舉報

ID:744809 發表于 2023-8-11 09:04 | 顯示全部樓層
Hephaestus 發表于 2023-8-10 23:07
STM32一側的緩存長度是你自己定義的,問大家干什么?

不是STM32緩存長度的問題,我同樣的程序,用DMA接收不定長的數據,115200波特率可正常接收超過64字節的數據,用460800,只能接收到64字節就觸發空閑中斷了。我懷疑是這個232芯片內部緩存只有64字節,發完64字節后要等待一會才會發后面的內容。導致接收到的數據不完整。我用圖2所示的線就會出現這個問題,用圖1所示的器件就沒這個問題。問題只可能出現在那根線上,后面我又買了一根其他店的usb轉232線,也有這個問題
回復

使用道具 舉報

ID:123289 發表于 2023-8-11 10:18 | 顯示全部樓層
USB與323通訊速率不同,中間必有一個差速器【中轉站】,站內也必有一個【倉】,流通慢時,【倉】夠用,看不出問題;流通快時,速差的積累就體現出來了,會滿【倉】。
樓主:您的猜想我贊同。
不過【倉】未必是64字節,但至少不低于64。只不過,發生擠【倉】時,它保證出【倉】的64個是正確的,因擠【倉】發生丟失的部分不再續發,或報警。
只要是通訊的雙方存在速率差異,用緩沖【倉】進行通訊【同步】的通訊,就總存在一個【倉】量,以及擠【倉】的時機。
回復

使用道具 舉報

ID:744809 發表于 2023-8-11 10:31 | 顯示全部樓層
yzwzfyz 發表于 2023-8-11 10:18
USB與323通訊速率不同,中間必有一個差速器【中轉站】,站內也必有一個【倉】,流通慢時,【倉】夠用,看不 ...

有點奇怪,圖1的器件進行通信就沒有問題,用圖2的線才會出現這個問題。兩個都是usb轉232芯片
回復

使用道具 舉報

ID:1088185 發表于 2023-8-11 10:55 | 顯示全部樓層
本來就不應該以空閑中斷來判斷幀的結束,這在很多應用都會出問題的。
回復

使用道具 舉報

ID:41656 發表于 2023-8-11 16:28 | 顯示全部樓層
可能是轉換器的問題 USB轉232通信方式不一樣 數據可能是打包一下過去的 你用不同方案的轉換器通信效果有差別  我就碰到過CH340轉485的線和我做的ModbusRTU模塊通信就問題多  用別的就好了 單片機一樣的程序
回復

使用道具 舉報

ID:123289 發表于 2023-8-12 08:17 | 顯示全部樓層
123156fsadf 發表于 2023-8-11 10:31
有點奇怪,圖1的器件進行通信就沒有問題,用圖2的線才會出現這個問題。兩個都是usb轉232芯片

或許這時走在【爆倉】的邊界內側,短時間內不一定能發現;蛟S偶爾會發產一次。
不過你已知道大致的通訊頻率邊界,多留一點富裕量,安全一點。
因為,使用環境的不同,溫度,電磁場,線路的阻抗……會有所不同,包括通訊對象的內部時間基準誤差,都會產生脈沖信號的邊沿誤差(上下邊沿決定上限頻率)。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表