STM32F105/107 CubeMX USB 無法辨識
各位先進,我現在用CubeMX產生出來的USB HID的範例程式
CubeMX的設定 USB Device Only / Activate _SOF 沒有勾選 / Activate _VBUS 沒有勾選
固件下載到STM32F105/107,接上電腦,USB都是顯示無法辨識
請問一下設定上面是有什麼不對嗎?
本帖最后由 hungchieh1029 于 2017-12-16 23:39 编辑
C:\1.jpg
我再將CUBEMX的設定上傳,請參考 设备类型和时钟都选择对了吗?
本帖最后由 maxtch 于 2017-12-17 22:01 编辑
1. 时钟树对不对?USB 外设需要 48MHz 时钟,且精度要求高,必须通过晶振 PLL 产生。2. USB DP 1.5k 上拉电阻打开了没?F107 这个电阻应该是内置的,如果有外接需要拆掉。没有这个电阻告诉电脑设备已插入,电脑上是不会有反应的。
3. 代码里面有没有及时响应 USB 事件?相应的中断开了吗?USB 消息定时很严,最好是中断驱动免得误了响应时间。
4. USB 设备描述符对不对?如果电脑不能理解这个设备描述符自然不能响应。
5. 如果是 USB HID,报告描述符对不对?
衔胆栖冰你好,
你給的圖片設定,我都有設定好,謝謝你給的建議 本帖最后由 hungchieh1029 于 2017-12-17 23:35 编辑
maxtch你好,
1. 我是用晶振8MHz , SYSCLK= 72MHz , USBCLK = 48MHz
2. USB DP 我沒有接1.5K上拉電阻,但是PA9(VBUS) 我有接上10K的上拉電阻
3. 代碼的部分我都是用stm32CubeMx來產生的,產生出來代碼,沒有做任何的修改就直接
編譯,燒錄至F107
4. stm32CubeMX是原廠提供的,描述元應該不至於會錯
5. stm32CubeMx產生出 CDC / DFU / HID / Mass 等範例都遇到一樣的問題USB無法使用
6. 另外我又有用 "STM32F10x and STM32L1xx USB Full Speed Device Library" 它裡面也有
CDC / DFU / HID / Mass 等範例又都可以用,這樣我就不懂stm32CubeMx產生出來的代
碼差到哪裡?
我付上stm32CubeMx的代碼
hungchieh1029 发表于 2017-12-17 23:26
maxtch你好,
1. 我是用晶振8MHz , SYSCLK= 72MHz , USBCLK = 48MHz
1. 如果这样的话,时钟树是没有问题了。
2. DP 没有上拉就没有问题,VBUS 无所谓。
至于剩下几个问题,我只能说你恐怕发现了一个 Cube 的 bug。(我个人自从上次被 Cube 咬过之后就再也没有碰过 ST 提供的库,设备头文件除外,大多数外设直接手写驱动,而 USB 之类都使用了第三方的开源库。)
楼主,建议用25M的晶振,重新设下时钟树。 DP的上拉电阻一定要有 我應該找到原因了,
STM32的OTG_FS系列,有PA9的部分也是VBUS
在STM32CUBEMX,Pinout的頁面中沒宣告PA9就會是VBUS,
所以只要宣告PA9為其他的設定
我就將UART1設定宣告在PA9 / PA10之後
這樣在重新編譯代碼,USB列舉就會正常了
页:
[1]
2