STM32虛擬串口修改名稱描述

跟電腦通信想要比較快的速度就只有虛擬串口VCP或者Bluk設備傳輸,並且上位機需要調用WinUSB或者libusb的API來實現和STM32的通信。雖然API不復雜,但是後者CubeMX中並沒有現成的配置需要自己修改USB的代碼。

虛擬串口只能使用驅動程序給定的名稱,當插入多個串口的時候分辨不出來那個設備是自己定義的。想要名稱的其中一個方法就是:

  1. 重新定義自己的VIPPID
  2. 修改官方的VCP驅動文件的inf文件,替換信息

但是這個方法有一個問題,修改信息以後Windows系統會認爲這個驅動程序被篡改,哈希校驗失敗不允許安裝,除非強制繞過,非常麻煩

這次提供一個簡單的方法修改虛擬串口設備名稱

  1. 安裝ST的虛擬串口VCP驅動
  2. 記住名字,下載zadig工具,它是強制替換驅動程序的,用來把特定驅動替換爲libusb或者winusb等等
  3. 代碼中修改設備的PIDUSB Description信息,插入電腦但是不會識別
  4. 打開zadig,點擊Options-List All Devices,就會顯示所有的設備信息
    在這裏插入圖片描述
  5. zadig中顯示的設備名稱便是你的USB Description中定義的名稱,確認VIDPID是一致的就可以,並且識別了驅動就是usbser,但是依舊無法使用
  6. 點擊右側按鈕選擇修改WinUSB (v6.1.7600.16385)USB Serial (CDC),並點擊Replace DriverZadig會根據ST的虛擬串口驅動生成一份新的驅動程序,名字便是你的USB Description,但是Vendor依舊是ST
    在這裏插入圖片描述
  7. 你也可以點擊下拉選擇Extract Files(Don't Install),導出驅動文件發佈安裝,Windows不會提示安全問題

你會發現設備管理器中的名字也已經變更爲Zadig中顯示的名字了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章