1樓:刀無極啊
解決方案1:1ms之內可以多個64b的包,要看匯流排負載情況,最好的情況可以1ms可以bulk傳輸10個以上包出來,這樣有可能到600kbps解決方案2:我也覺得超過64kkb可能性比較小,那些聲稱很大的人的測試,都是譁眾取寵,沒見有完整原始碼。
解決方案3:印象裡,1ms查詢一次是hid方式,虛擬串列埠也是這樣嗎?如果也是,是否可以把時間縮短?
解決方案4:全速bulk傳輸時,理論上1幀最多傳輸19個64b的包,但是受匯流排排程影響,達不到這麼高的負載率,640kbs的速率應該還是可以達到的 解決方案5:bulk方式下可以達到600k,我的產品已經使用2年了,一直穩定。
如果用32f207,有時能夠達到1m.但是作業系統要在系統空閒的時候才可以達到1m.很多時候作業系統不允許。
不過降到600k的速度,作業系統能夠保證的。 解決方案7:主機每隔1ms就會查詢端點的中斷...
適當處理後,間隔可以降到100us一下。
如何使stm32進行usb傳輸時提高傳輸速度
2樓:速達_濟南天禹
顯示連線到非高速匯流排的usb裝置,是表示可移動裝置是支援usb2.0的但主機板的usb介面是usb1.1或一下的!
就會這樣顯示。而移動裝置是usb 1.1,主機板是usb2.
0的是不會有這個提示的! 解決方法: 1.
檢視主機板說明書最後幾頁, 在bios中有設定usb 2.0特性的選項,把它enable(使能) 應該在chipset features setup 選項裡有類似usb 2.0的東東,把它enable(使能)!
我筆記本bios沒有這麼多設定,所以只能憑記憶了! 2.有的主機板有些是usb1.
1另一些是usb2.0的介面,我有見過這樣的,所以你換個usb介面試下! 3.
重灌系統後,主機板的usb沒有安裝正確的驅動程式,安裝下主機板的驅動程式!有些主機板的usb xp自帶的驅動程式不能正常驅動 4.以上都沒有解決,重灌系統,記得驅動都要裝啊!
這個軟體問題居多!
關於stm32 usb資料採集系統,怎麼提高usb傳輸速度
3樓:
1.stm32f407zg應用 電機驅動和應用控制 醫療裝置 工業應用:plc,變頻器,斷路器 印表機和掃描器 報警系統,可視對講,暖通空調 家用音響裝置 2.
stm32f407zg概述 stm32f407zg系列是基於高效能的arm?cortex?-m4f的32位risc核心,工作頻率高達168 mhz的。
的cortex-m4f核心功能支援所有arm單精度資料處理指令和資料型別的單精度浮點單元(fpu)。它還實現了一套完整的dsp指令和記憶體保護單元(mpu),從而提高應用程式的安全性。 該stm32f407zg系列採用高速嵌入式儲存器(多達1 mb快閃記憶體,高達192 kb的sram),最多4位元組的備份sram,以及廣泛的增強i / o的連線到兩條apb匯流排和外設,兩個ahb匯流排和一個32位的多ahb匯流排矩陣。
所有stm32f407zg裝置提供3個12位adc,兩個dac,1個低功耗rtc,12個通用16位定時器,其中包括兩個用於電機控制的pwm定時器,兩個通用32位定時器。一個真正的隨機數發生器(rng)。他們還配備了標準和先進的通訊介面。
3.stm32f407zg引數 stm32f407zg儲存器程式快閃記憶體(kb) 1024 ram(kb) 192 stm32f407zg效能引數,工作頻率(兆赫) 168 16位定時器(ic / oc / pwm) 12(24/24/30) 32位定時器(ic / oc / pwm) 2(8/8/8) a / d轉換器 3x12位 d / a轉換器 2x12位 通訊介面 3xspi 2xi2s 2xi2c; 4xusart 2xuart 兩個usb otg(fs + fs / hs); 2xcan 1xsdio 乙太網mac10/100 的i / o 114 電壓(v):1.
8到3.6 4.stm32f407zg封裝與引腳 lqfp144
stm32 usb虛擬串列埠 最大速度可以達到多少 波特率可以設定到多少
4樓:碧雲天書
全速可以達到900kb以上,如果外接高速phy,最高可以到32mb。
波特率不起作用,可以隨便設。
電腦如何通過usb向stm32傳送資料
5樓:匿名使用者
cubemx 支援usb cdc 配置,你可以選擇把stm32 新增虛擬串列埠功能vsp,當作一個串列埠使用。
stm32如何通過usb串列埠和電腦相連傳輸資料
6樓:匿名使用者
usb轉串列埠線,配置stm32串列埠設定,從電腦開啟串列埠工具即可
stm32虛擬串列埠 如何傳送資料
7樓:匿名使用者
是指模擬串列埠嗎?虛擬串列埠是pc端才用的。stm32那麼多串列埠(5個),應該夠用了吧
8樓:匿名使用者
usb虛擬串列埠傳送資料?
9樓:匿名使用者
哪個串列埠?虛擬指的是哪個?
請教stm32 usb虛擬串列埠一些問題
10樓:出家人詞悲
首先開啟官方demo我們開始進行移植,第一步複製我們可用的檔案,操作如下:
projects\virtual_com_port資料夾下,複製紅線部分
我為了方便演示統放在usb/src資料夾下:
現在複製usb的庫檔案,這些檔案不需要我們修改:
上圖中的檔案統一放在usb/lib資料夾下:
好了現在所需要的檔案我們以複製完了。這裡先講一下demo程式的主要工作流程:
由上圖可知,pc通過虛擬串列埠傳送資料到stm32 usb口,stm32再通過usart1傳送資料到pc串列埠。我們做專案時,只用usb虛擬串列埠即可。所以我們現在需要把串列埠傳送部分刪除。
把usb做為一個com口來使用。我們要如何使用這個usb口呢?demo中是把usb傳送資料做了一個快取,先把要傳送的資料存入快取中,然後由usb自動傳送出去。
而接收部分是直接通過串列埠透傳。我們在應用時就需要用到兩個fifo,1是傳送,這個和demo方式是樣;2是接收,接收也做一個快取,我們通過查詢來判斷是否收到新資料。這下大家應該明白為什麼使用兩個fifo了。
我這裡有寫好的fifo庫函式可直接使用queue.c檔案。
現在開始修改:
1,stm32_it.c 更名為usb_it.c刪除無用**,只保留usb中斷函式,和喚醒函式。
stm32串列埠在程式中配置時STM32串列埠在程式中配置時PA9,USARTTX和PA10,USARTRX為什麼工作模式配置成複用推輓輸出和浮空輸入??
usart串列埠,首先tx是作為輸出的,邏輯上輸出 的資料都是0或者1,也就是由高低電平來表示,推輓就是能穩定輸出1或者0。而複用,是因為這個io受的是內部的的usart模組來控制,並非是gpio暫存器來控制。至於rx設定為浮空輸入那就很好理解了,首先接收的肯定是要設定為輸入,才能檢測外界的電平,其...
關於stm32微控制器的串列埠除錯問題
估計是你的串列埠時鐘沒有初始化,所以編譯正確也沒有效果 看看我的初始化 enable usart1 and gpioa clock rcc apb2periphclockcmd rcc apb2periph usart1 rcc apb2periph gpioa rcc apb2periph afi...
我的串列埠接收到的為什麼總是0啊,stm32串列埠rx線懸空後微控制器總是收到0,為什麼
那說明你copy的串列埠沒有配置成功,如果微控制器的串列埠配置成功後,預設的管腳電平為高電平,如果你的管腳為低電平,串列埠是作為資料來接收的,所以收到0,再仔細檢視你的串列埠初始化程式,以及你的電路是否虛焊,是否電路連線有問題。我今天也遇到了這個問題,rx和tx接反了。看看 你 微控制器 的 程式 ...