在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F429的USB工程CAN通訊不正常經驗分享

汽車玩家 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:32 ? 次閱讀

最近某項目需要用到USBCAN

STM32F429的USB工程CAN通訊不正常經驗分享

拿到這樣的需求,我們當然是先得保證通訊正常。于是我找了一個USB例程與一個CAN例程,分別調試驗證。

經過幾番折騰已經保證了USB與上位機能正常通訊了,也能保證了CAN的正常收發(拿了兩塊開發板做驗證)。

兩頭都沒有問題了,再加上一些數據處理就差不多完成了。USB與CAN我都是第一次用,沒想到那么順利,美滋滋,正準備放松的時候,問題就來了。這是一個整體的東西,最終都要把這兩部分集合起來吧。

我把CAN工程里關于CAN的部分移到USB工程里,這時候CAN竟然用不了了。這時候我就開始在懷疑自己是不是手賤誤刪了哪里了,于是重新來一遍,發現還是不行。

查了代碼很久也沒找出什么錯誤了,于是決定先不找錯誤了,進度要緊,這時候覺得應該是工程哪里有問題了,先想其它辦法避過這個問題。

于是乎我就換著來,我把USB的工程里關于USB的部分移到CAN工程里。大家猜一猜發生了什么?USB竟然打都打不開!要炸了。。但是這時候已經很明確肯定不是移植問題了。CAN部分首先想到了波特率是不是對不上了,USB部分首先想到USB的時鐘是從哪來的,之前沒用過也沒仔細看。帶著這兩個問題去查看了參考手冊與代碼,果然,STM32F429的USB的時鐘還真有點特殊(不知道其它芯片是不是也是這樣),其來自于PLL輸出,而不是我們熟知的APB1、APB2:

STM32F429的USB工程CAN通訊不正常經驗分享

從時鐘樹中我們可以看出:(1)的輸出是系統時鐘,(2)的輸出是USB時鐘。相關公式:

STM32F429的USB工程CAN通訊不正常經驗分享

當然(2)的輸出不僅僅是給USB提供時鐘,還給RNG與SDIO提供時鐘:

STM32F429的USB工程CAN通訊不正常經驗分享

這一部分對應的代碼在system_stm32f4xx.c中。下面看看USB工程、CAN工程中該文件的差別:

STM32F429的USB工程CAN通訊不正常經驗分享

STM32F429的USB工程CAN通訊不正常經驗分享

可見,問題找出來了。在USB工程中,CAN通訊不正常是因為系統時鐘降為168MHz,導致APB1時鐘變為42MHz,而代碼中是用APB1=45MHz來計算CAN的波特率的,所以導致波特率對應不上導致CAN通訊錯誤。

在CAN工程中,系統時鐘為180MHz,USB OTG FS時鐘變為51MHz,超過了正常的48MHz,導致USB不能正常工作。

所以,每當用到USB,都得單獨配置PLLCLK = 168MHz了,這樣的話其他外設可能得改變原有的配置,比如這里的CAN就得用APB1=42MHz來計算波特率了,否則就會出錯。這很不方便。。

正如野火火哥說的,這是ST的一個奇葩設計。

STM32F429的USB工程CAN通訊不正常經驗分享

所以,大家以后再使用USB的時候當心這個陷阱!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    7966

    瀏覽量

    265285
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2762

    瀏覽量

    464014
  • STM32
    +關注

    關注

    2270

    文章

    10915

    瀏覽量

    356764
收藏 人收藏

    評論

    相關推薦

    伺服電機振動不正常原因和維修及案例分析

    ? ? ? 伺服電機作為自動化系統中的關鍵組件,其穩定運行對于整個生產線的效率和穩定性至關重要。然而,伺服電機在運行過程中可能會遇到振動不正常的問題,這不僅影響電機的性能,還可能對機械系統造成損害
    的頭像 發表于 12-18 09:22 ?220次閱讀
    伺服電機振動<b class='flag-5'>不正常</b>原因和維修及案例分析

    stm32f429如何把變量定義到sdram中去?

    最近搞stm32f429,請教如何把變量定義到sdram中去?能夠同時使用內部的sram和外部的sdram嗎?
    發表于 05-15 07:54

    STM32F429開發板只能插電腦USB供電接口LCD才能顯示,為什么?

    手中一塊STM32F429 Disvovery開發板,在插入電腦USB接口的情況下,LCD正常顯示圖片內容。將USB供電線插到充電寶、充電器上就無法
    發表于 04-29 07:04

    stm32f429 USB Host HID鍵盤枚舉成功讀取鍵值失敗的原因?怎么解決?

    求助大神,手上一塊stm32f429的板子,作為USB host連接USB鍵盤,使用cubemx生成工程文件,在主循環內添加鍵值處理程序,現在的問題是通過串口打印調試信息顯示,
    發表于 04-28 07:18

    請問STM32F429硬件IIC需要外圍上拉電阻嗎?

    如題,STM32F429使用IIC通信的時候,是否需要外加上拉電阻? 看過很多資料,都說是需要上拉電阻,讓人郁悶的是,這次設計硬件的時候,偏偏忘記了加,于是乎我進行了測試, //使能IO引腳
    發表于 04-24 06:35

    如何維修安捷倫N8946電源輸出不正常

    。其電壓輸出范圍為0至200V,電流輸出范圍為0至140A,最大輸出功率為10000W。同時,該電源支持340–440 VAC的交流輸入電壓范圍。 維修安捷倫N8946電源輸出不正常 安捷倫N8946電源輸出不正常時,可以嘗試以下步驟進行維修: 檢查電源輸入:首先確認電源
    的頭像 發表于 04-23 18:07 ?745次閱讀
    如何維修安捷倫N8946電源輸出<b class='flag-5'>不正常</b>

    stm32f429 FMC地址總線的疑問求解

    stm32f429單片機,使用FMC操作并行總線。其中地址總線上主設備為f429,從設備為一個fpga和兩個存儲器,地址總線經5.1K電阻上拉。 經示波器測試,觀察到下面的異?,F象: 當讀控制信號
    發表于 04-11 07:58

    STM32F429做的PIL仿真速度非常慢的原因?

    各位大神好, 本人用MATLAB/SIMULINK搭建了小型直流電力系統。系統包含三個直流轉換器。相關三個控制器被載入STM32F429中,從而與SIMULINK構成PIL仿真。仿真運行一切正常
    發表于 04-11 07:28

    stm32f429 can1通訊使用hal發送數據不穩定怎么解決?

    stm32f429 can1通訊,使用hal庫配置工程,發送數據不穩定,發送幾十個包才有一倆正常發送,但是使用標準庫就可以
    發表于 04-02 06:04

    通過stm32f429 usb host hid發送命令控制hid設備,能枚舉不能發送數據的原因?

    大家好,這個問題一直困擾了我好久,我的下位機是hid設備,已經做好無法改變,我想通過stm32f429 usb host hid發送命令控制它,枚舉都成功了,就是不能發送數據,我不知道什么原因,有什么好的建議嗎?我用的是USBH_HID_SetReport函數
    發表于 03-28 09:14

    STM32F103C8T6 CAN發送數據波形不正常的原因?

    大家好,STM32F103C8T6關于CAN發送數據波形不正常的問題。
    發表于 03-27 08:27

    STM32F429工程標準庫移植到HAL庫后中斷向量表異常的原因?

    STM32F429工程標準庫移植到HAL庫后中斷向量表異常
    發表于 03-20 06:02

    STM32F373使用flat類型不正常,為什么?

    STM32F373使用flat類型不正常
    發表于 03-18 07:20

    stm32f429 fatfs分了4個區,usb_hs掛載后4個都顯示出來了,如何用代碼控制顯示其中的幾個?

    如題 板子是stm32f429。開發環境stm32cubemx+keil,用的HAL庫,裸機no_os fatfs分了4個區,讀寫正常usb_hs掛載后4個都顯示出來了,讀寫也
    發表于 03-08 07:24

    請問stm32f429如何改內部rc時鐘工作?

    stm32f429標準庫如何改內部rc時鐘工作?
    發表于 01-17 06:25
    主站蜘蛛池模板: 国产免费的野战视频| 2021天天干| 4虎最新地址| 一本到视频在线| 天天爽天天干天天操| 免费在线a视频| 操综合| 在线视频免费观看| 222aaa免费| 男男gay污小黄文| 一级在线观看| 色多多视频在线观看| 欧美三级大片在线观看| 久草免费在线播放| 丁香花在线视频观看免费| 午夜视频在线观看视频 | re99热| 我要看一级大片| 欧美爽爽网| 国产美女主播在线| 婷婷网址| 国产福利影视| 欧美色图俺去了| 老司机午夜网站| 4虎影院永久地址www| 日本片巨大的乳456线观看| 在线免费视频观看| 美女扒开尿口给男人桶视频免费| 亚洲狠狠综合久久| 欧美18videosex性欧美1819| 国产色婷婷亚洲| 手机看片1024日韩| 1024手机最新手机在线| 久久婷婷人人澡人人爱91| 四虎影视在线观看| 精品三级内地国产在线观看| 小泽玛利亚厕所大喷水| 凹厕所xxxxbbbb偷拍视频| 美女扒开尿口给男人桶视频免费| 特级黄毛片| 国产三a级日本三级日产三级|