娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

STM32 USB的實現和軟件實現

發布者:JoyfulSpirit5最新更新時間:2024-12-27 來源: jianshu關鍵字:STM32  USB  軟件實現 手機看文章 掃描二維碼
隨時隨地手機看文章

STM32端USB的實現

筆者使用的是最經典的STM32的芯片STM32F103C8T6, 這幾乎是市面上所有stm32最小系統板最為常用的主控MCU,由于項目需要拿出十年前的最小系統板,使用ST-Link燒錄仍然能夠使用. 我使用了ST意法半導體公司這幾年主推的STMCubeMX根據芯片直接生成基本的C代碼,并且使用ST公司HAL庫. 這里說一下HAL庫,我當年學習STM32的時候那時候基本主流都是使用庫函數版本,后來ST公司意識到移植的問題所以推出了HAL(Hardware Abstract Layer)庫,也是主推的方式,但是現在市面上仍然是寄存器版本,庫函數版本,HAL庫版本共存的狀態,這里筆者參考了youtube上面的相關視頻也是使用STMCubeMX直接生成了STM32的USB項目,并且燒錄到芯片之后

image.png


燒錄到芯片之后,芯片是可以被系統識別,拔插USB的時候系統就會有提示音.

image.png


USB的軟件端實現

當系統可以檢測到USB之后,筆者使用了LibUSBDotNet的C#來做上位機軟件,然而這里遇到了問題,使用Libusbdotnet的庫總是無法找到相關設備

 UsbDeviceFinder usbFinder = new UsbDeviceFinder(DeviceVid, DevicePid);//mUsbDevice無法找到設備,一直為null
 mUsbDevice = UsbDevice.OpenUsbDevice(usbFinder);

由于筆者對于第一次使用HAL庫,一直不太清楚是否是沒有配置成功導致的無法找到設備,后來我在Google上搜索相關的資料,在Github上找到了一些USB軟件的項目,

關于usb調試的軟件在市面上很難招,串口調試的一堆.這里我根據搜集的資料整理了相關的項目:

最推薦:  SHT
A USB HID Component for C#
HIDSharp
mikroElektronika USB(HID) Terminal

image.png


一個程序員總結的關于USB項目的合輯
當我使用SHT發現,數據是可以正常接受的,但是不清楚為什么libusbdotnet無法尋找到設備,后來繼續搜索, 終于在StackOverflow上面找到了
https://stackoverflow.com/questions/25714930/libusbdotnet-no-devices-found-when-calling-usbdevice-alldevices

image.png


截圖里面說的很明確,Libusbdotnet可以獲取的是winusb, libusb,linux Libusb v1.x,結合我原來曾經的一點印象,我感覺應該是驅動的問題,下載了libusbdotnet的項目,里面有libusb-win32 Inf-Wizard,我打開安裝驅動,出現了 system policy has been modified to reject unsigned drivers, 后來搜索發現需要使用管理員權限打開,然后順利安裝了驅動程序


image.png


image.png


此時再次拔插USB設備顯示的是如下的方式


image.png

然后我根據libusbdotnet的歷程寫了上位機測試軟件發現可以正常接受數據,此時就可以使用了.


image.png

關鍵字:STM32  USB  軟件實現 引用地址:STM32 USB的實現和軟件實現

上一篇:《嵌入式-STM32開發指南》第一部分 入門篇 - 第4章 庫開發簡介
下一篇:STM32和樹莓派串口透傳

推薦閱讀最新更新時間:2025-03-25 19:30

STM32 USB轉串口驅動移植到SylixOS中遇到的問題總結
簡介 由于客戶項目需求,需要在STM32的硬件平臺上實現USB轉串口的功能,由于ST公司基于STM32硬件平臺實現了相應的USB庫以方便開發者進行開發,因此,在SylixOS下實現USB轉串口功能時對該USB庫進行了移植。由于該USB庫的實現是基于STM32的裸機代碼實現,因此在移植的過程中,不需要做過多的修改。 下面章節主要介紹在移植STM32的USB轉串口驅動到SylixOS下遇到的問題以及對應的解決方法。對于其中的有些解決方法在移植STM32其他外設驅動的過程中也依然適用。 2. 移植遇到的問題及解決方法 2.1 非對齊內存訪問錯誤 在移植完USB轉串口驅動后,燒寫SylixOS到STM32后,在運行過
[單片機]
STM32 USB學習筆記1
主機環境:Windows 7 SP1 開發環境:MDK5.14 目標板:STM32F103C8T6 開發庫:STM32F1Cube庫和STM32_USB_Device_Library 之前在STM32論壇里領取過一塊STM32開發板,本來以為是帶有USB模塊接口的,最后發現NUCLEO里是沒有把USB模塊外接出來的,所以就自個兒掏錢買了一塊單板,如下圖所示: 單板很簡單,單純是為了學習一下STM32的USB模塊,之所以選擇這個是因為它便宜,而且ST官方有提供USB模塊庫方便開發。 USB開發博大精深,比之串口,SPI,I2C來說多了很多東西,一個很簡單的例子就是串口,SPI,I2C都可以使用通用IO口
[單片機]
<font color='red'>STM32</font> <font color='red'>USB</font>學習筆記1
STM32 USB的DFU功能
最近用到USB,后來發現了STM32F103可以程序實現DFU,在網上搜到代碼對比官方文件發現是大容量FLASH的DFU,我用的是STM32F103C8T6,屬于中容量。自己對著官方例程修改了網友的代碼,改成中容量后可以使用DFU更新固件。修改過程中要注意幾點 1.在庫函數“void SystemInit (void)”結尾處添加向量表偏移量,開全局中斷(在dfu中關閉了中斷,在此處打開)。如下圖 2.修改MDK app程序偏移量,如下圖:(預留了20K FLASH給USB DFU使用,所以APP代碼起始地址0x8005000) 3.APP修改完成后,需要在DFU代碼中修改APP跳轉地址,如下圖: 修改完成后,使用
[單片機]
<font color='red'>STM32</font> <font color='red'>USB</font>的DFU功能
STM32 USB設計--硬件篇
STM32芯片內部集成了USB外設,大大減輕了USB電路的設計負擔,只需設計USB接口電路,就可以實現基于STM32芯片的電路板的USB通信設計。(本文將具體講述基于STM32F103RBT6芯片的USB設計)本文為硬件篇。 首先,我們來認識一下STM32F103RBT6芯片。 其中USB相關引腳為PA11(D-),PA12(D+)引腳。就是通過這兩個引腳實現STM32F103RBT6的USB通訊。 圖1 STM32F103RBT6芯片引腳圖 其次,我們簡單來認識一下USB的構造(以A型公口、B型母口為例) 圖2 USB A型公口 圖3 USB B型母口 表1 USB接口引腳說明 1 VCC(+
[單片機]
<font color='red'>STM32</font> <font color='red'>USB</font>設計--硬件篇
如何使用STM32USB非控制端點發送多個數據包
以下是網友提出的問題和我對這個問題的說明。 SMT32F103,根據例程Custom_HID修改,利用EP1 以EP_INTERRUPT 的方式發送包,原來的例程每次發送2個字節,現在修改后包的長度不超過64字節時發送是正常的,但當一個包長超過64字節時就發送失敗,沒有數據出來(程序沒有死機),該改的地方都已經修改了,不知道哪個地方還沒有改到位,謝謝! 現象就是 超過63字節的包死活也發不出去,而且發送包的大小 還與 CustomHID_ConfigDescriptor里面的 EP1 IN endpoint 描述里包大小有關 ,沒道理啊,其他的MCU 這地方設置為8 照樣發送256B 以上的包。 在Custom_HI
[單片機]
基于LabVIEW開發平臺實現讀寫器自動化測試軟件的設計
引言 超高頻RFID讀寫器射頻的測試項目有載波頻率容限、占用帶寬、發射功率、鄰道功率泄露比和雜散發射等。在通常的手工測試中,每一項測試都要對儀器進行重新配置、重復的手工測試和記錄大量的數據,不僅浪費時間而且還容易出錯。RFID測試軟件通過通用總線接口GPIB接口把計算機和儀器有機地融合為一體組成一個測試系統,從而把計算機的數據處理能力和儀器的測量、控制能力結合在一起,以使測試流程集成化簡單化,最大程度地降低測試人員的工作量與操作復雜程度。該測試系統具有自動控制、數據采集和報告自動生成功能,軟件提供儀器配置、儀器設置、儀器校準等信息,并提供實時操作提示、儀表的工作狀態和當前測試狀態等信息。 1、 測試系統的硬件構成 圖1所示的測
[測試測量]
基于LabVIEW開發平臺<font color='red'>實現</font>讀寫器自動化測試<font color='red'>軟件</font>的設計
實現軟件定義汽車愿景的四大支柱
汽車行業加快軟件定義汽車開發的實用方法 在技術浪潮席卷之下,整個汽車行業進入了顛覆且充滿機遇的“最好”時代!整體行業也正經歷有史以來最大的一次變革。例如,汽車傳動系統的電動化發展,駕駛輔助系統的異軍突起,以及車主對汽車各功能和應用徹底革新的期待,可以說整個行業正在發生翻天覆地的變化。 從技術專家的角度來看,一切變化歸結于軟件及其支持技術的快速崛起。 由此催生出一個行業新術語:軟件定義汽車 (software-defined vehicle , SDV)。 盡管在有關軟件定義汽車何時成為行業“標準”以及如何具體實現方面存在很多爭論,但行業幾乎一致認可它將成為汽車行業未來發展大方向。在實現軟件定義汽車這一愿景之前,整個汽車行業
[汽車電子]
<font color='red'>實現</font><font color='red'>軟件</font>定義汽車愿景的四大支柱
工業軟件產品增長快速 一季度實現營收421.5億
2019年一季度,我國軟件和信息技術服務業(下稱“軟件業”)發展穩中有進,收入和利潤增速同步提升,從業人數穩定增加,出口增長由負轉正。云服務、大數據服務等新興業務領域發展加快,信息安全領域面臨新的發展機遇,工業軟件、電子商務平臺技術服務持續良性發展。 一、總體運行情況 軟件業務收入增長穩中有升。一季度,我國軟件業完成軟件業務收入14755億元,同比增長14.4%,增速同比提高0.4個百分點。其中,3月軟件業務收入實現增長15.9%,增速同比提高0.8個百分點。 圖1 2019年1-3月軟件業務收入增長情況 利潤總額增速回升明顯。一季度,全行業實現利潤總額1930億元,同比增長13.3%,增速同比提高2.5個百分點,比
[嵌入式]
工業<font color='red'>軟件</font>產品增長快速 一季度<font color='red'>實現</font>營收421.5億
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 大田县| 温泉县| 津市市| 保康县| 沛县| 巧家县| 青岛市| 布尔津县| 平阳县| 湾仔区| 顺昌县| 昔阳县| 航空| 马山县| 二手房| 利辛县| 江口县| 黄浦区| 廉江市| 从化市| 襄城县| 唐山市| 三明市| 普兰县| 平南县| 无为县| 新郑市| 湖口县| 奉化市| 翼城县| 商河县| 多伦县| 边坝县| 松桃| 田林县| 龙山县| 庐江县| 中超| 泰和县| 潮州市| 浠水县|