單片機型號:STM32F401
調試STM32的USB CDC設備已經(jīng)有好多次了,可以看一下前面寫的日志,針對不同的STM32 MCU都進行了調試。原本以為STM32F4會很簡單,可處處是坑,已經(jīng)調到半夜才解決問題,把問題重新梳理。
我現(xiàn)在使用的芯片時STM32F401,在STM32CubeMX中,按照以下步驟設置。
1、設置為全速從設備,不做USB電源檢測。
2、使能CDC,其它采用默認設置。
按照上述設置生成的程序,下載到芯片后,接入計算機,默認是這樣的
仔細查看細節(jié)問題是這樣的
找了好久不能解決問題,網(wǎng)上有一種說法是,是更改usbd_conf.h文件,如下圖所示,將USBD_MAX_NUM_CONFIGURATION設置為2,采用這種方法后,計算機可以正常認出該設備,但不能完成通訊操作。
實在沒有方法了,試著調整堆棧數(shù)值,偶然解決,我現(xiàn)在調整的數(shù)值如下,該數(shù)值在startup_stm32f401xc.s文件中。
現(xiàn)在已經(jīng)可以正常通信了,如下圖。
主邏輯代碼如下:
int main(void)
{
uint8_t data[10] = {0,1,2,3,4,5,6,7,8,9};
MX_ADC1_Init();
MX_SPI1_Init();
MX_USB_DEVICE_Init();
while (1)
{
if (Target.IsbMilliSecond_1000() == TRUE)
{
//1¤×÷??ê?μ?
Target.HAL.LED.Turn();
CDC_Transmit_FS(data, 10);
}
}
}
這種調整方法,難度過大了,STM32CubeMX需改進一下。
上一篇:STM32開發(fā)筆記34:USB CDC驅動程序的詳細移植過程
下一篇:STM32開發(fā)筆記32:STM32F4定時器驅動程序的移植
推薦閱讀
史海拾趣
設計資源 培訓 開發(fā)板 精華推薦
- 貿(mào)澤授權代理Texas Instruments 豐富多樣的產(chǎn)品
- 美國為何恢復英偉達H20對華銷售?白宮AI負責人回應
- Cadence 率先推出業(yè)內首款 LPDDR6/5X 14.4Gbps 內存 IP,為新一代 AI 基礎架構助力
- 手把手教你從零設計一款算力超過 1000Tops 的智能駕駛芯片
- OrangeBox汽車連接域控制器(CDC)開發(fā)平臺
- 采用反激式轉換器進行高功率應用設計
- Vishay推出PLCC-6封裝RGB LED通過獨立控制紅色、綠色和藍色芯片實現(xiàn)寬色域
- 芯對話 | CBMG719單刀雙擲模擬開關:高精度信號切換低阻高速寬溫
- 大聯(lián)大詮鼎集團推出基于Qualcomm和Thundercomm產(chǎn)品的AI電子圍欄方案
- AMD:AI加速卡MI308將恢復出貨,許可證申請將被推進至審核流程
- EEworld獨家原創(chuàng)視頻:大話TI CC2650,邀你來看!
- 觀看TI IOT解決方案研討會 答題即可贏取更多精美好禮!
- 【EEWORLD第三十九屆】2012年06月社區(qū)明星人物揭曉!
- 永不過時的物聯(lián)網(wǎng)解決方案 Intel帶你6的飛起來!
- ADI有獎下載活動之25:ADI汽車傳感器和傳感器接口解決方案
- Vicor 更好的供電方式提升無人機飛行時間飛行半徑及有效載荷
- 考眼力:高速數(shù)字設計的秘籍 藏在哪里? 走近Keysight PATHWAVE,提升工作效率
- TI 最新電容式觸控套件,免費嘗鮮中
- TI有獎直播|借助Sitara™ AM263x MCU 創(chuàng)造電氣化的未來