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

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

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

3天內不再提示

基于恩智浦MPC5744P的CAN驅動開發和測試

嵌入式程序員 ? 來源:嵌入式程序猿 ? 作者:武國平 ? 2021-09-03 11:35 ? 次閱讀

摘要

本篇筆記主要記錄基于恩智浦MPC5744P的CAN驅動開發和測試,接口設計,封裝為BSP驅動,為之后實現CAN的高層通信打下基礎。。

準備工作

安裝S32DS for PA, 因為我們在S32DS下開發MPC5744P。

安裝S32DS 的SDK, 我們使用最新版3.0.3

CAN

恩智浦的MPC5744P控制器局域網絡CAN,跟我們之前使用的恩智浦Kinetis KV, 等系列的flexCAN結構基本是一樣的,MPC5744P不僅僅支持經典CAN,還支持CANFD。

從系統框圖也可以看出,總體包含消息緩沖RAM,發送仲裁,接收匹配,和協議引擎。要正常與其他CAN設備通信,必須外接收發器。關于MPC5744P的 flexCAN模塊的特性可以參考收據手冊,這里不在贅述。有四種工作模式,正常模式,監聽模式,回環模式,和禁止模式。CAN外設的寄存器比較多,需要多參考查閱手冊。

消息緩沖區結構

恩智浦不管是ARM系列還是PA系列架構的片子, flexCAN模塊的消息緩沖機制基本都是一樣的。這個結構非常重要,是CAN消息數據處理的基礎,SDK底層這部分的處理代碼就是按照這個結構。自己實現代碼也必須是按照這個結構去實現。

更多CAN詳細的介紹請參考官方收據手冊。

驅動實現

良好的驅動封裝,可以方便應用開發,并且可以容易移植到其他項目,代碼重用率高,所以數據和接口是你不得不考慮的問題,怎么樣方便的實現,還要通用易用。

數據封裝

首先根據MPC5744P的CAN外設結構,我們來封裝數據結構體,方便后面軟件實現開發,可以新建bsp_can.c和bsp_can.h, 在頭文件中封裝結構體定義。

88563cf6-0be0-11ec-8fb8-12bb97331649.png

在.c文件中定義封裝一些變量,這些變量數組也是通用,在多款產品中都采用,大家也可以參照。

886685a2-0be0-11ec-8fb8-12bb97331649.png

可以實現多個CAN口驅動。如果只有一個CAN口,將CAN_PORTS宏定義為1,幾個就定義為幾。

這個封裝大家可以記著,我在多款器件上都是這么封裝的,之前在NXP的KE06, KEA, KV46, K64等系列,在ST的F103, F446, H743等等CAN通信都采用這種封裝BSP驅動。

初始化

參考官方的例程,根據自己的硬件去實現,做相應修改。我們一般發送接收要采用中斷或者DMA實現,這里以中斷方式實現,根據實際可能還需要添加濾波,配置緩沖等。

888491dc-0be0-11ec-8fb8-12bb97331649.png

中斷回調函數

最主要的就是通信傳輸回調函數的實現,MPC5744P的回調函數參數有事件,所以可以根據事件來判斷是接收還是發送。

責任編輯:haq

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

    關注

    57

    文章

    2898

    瀏覽量

    466970
  • 通信
    +關注

    關注

    18

    文章

    6184

    瀏覽量

    137466
  • 封裝
    +關注

    關注

    128

    文章

    8579

    瀏覽量

    144944

原文標題:用這種結構做CAN通信數據封裝太爽了

文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    米爾誠邀您參加2025NXP峰會

    ,預約報名正在進行中,千萬別錯過!屆時,米爾電子將攜帶新品米爾基于NXPi.MX93核心板及開發板亮相此次盛會,誠邀您蒞臨現場參觀指導。▼▼▼▼▼▼2025年,
    的頭像 發表于 05-08 08:08 ?488次閱讀
    米爾誠邀您參加2025<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>NXP峰會

    MPC5744P C55閃存驅動程序,間歇擦除怎么解決?

    我們正在調查閃存的特定部分未按預期擦除的兩個問題。 我們使用的是 v.1.1.0 c-array 軟件驅動程序,直到構建了新一批硬件,才觀察到此問題。MCU 具有掩碼集 1N15P 和日期代碼
    發表于 04-10 06:55

    FRDM-MCXA156開發實踐指南》上線啦

    RT-Thread率先支持NXPFRDM-MCXA156,并聯合半導體推出了NXPFRDM-MCXA156開發板評測活動。測評活動順利完成,并且有了不錯的產出,我們將大家的測試
    的頭像 發表于 04-06 10:51 ?753次閱讀
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>FRDM-MCXA156<b class='flag-5'>開發</b>實踐指南》上線啦

    智能家電創新方案一文看盡 智能家電技術日給你答案

    ? 科技賦能,將會讓我們日常的家居生活變得多智能?讓我們一起到 “智能家電技術日” 中找答案—— 在日前舉辦的“智能家電技術日”活動中,
    的頭像 發表于 03-28 11:46 ?3330次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>智能家電創新方案一文看盡  <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>智能家電技術日給你答案

    羅德與施瓦茨與合作展示UWB雷達目標模擬測試系統

    作為超寬帶(UWB)技術的領軍企業,半導體(NXP Semiconductors)與羅德與施瓦茨(以下簡稱“R&S”)攜手合作,在MWC 2025大會上展示一套UWB雷達目標模擬測試
    的頭像 發表于 03-05 16:22 ?497次閱讀

    為無線連接SoC開發的統一WiFi驅動程序多芯片多接口驅動(MXM)

    本文將重點介紹為無線連接SoC開發的統一Wi-Fi驅動程序——多芯片多接口驅動 (MXM),詳細說明其架構設計如何簡化基于
    發表于 02-28 09:13 ?644次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>為無線連接SoC<b class='flag-5'>開發</b>的統一WiFi<b class='flag-5'>驅動</b>程序多芯片多接口<b class='flag-5'>驅動</b>(MXM)

    發布新版MCUXpresso SDK

    對于使用無線微控制器 (如RW61x和MCX W) 及軟件平臺的開發人員,在GitHub發布的MCUXpresso SDK 24.12.00是向前邁出的重要一步。最新的SDK版本得到了顯著的改進,旨在加速產品
    的頭像 發表于 02-21 14:20 ?1557次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>發布新版MCUXpresso SDK

    宣布收購NPU廠商Kinara

    半導體公司近日宣布,已正式簽署最終協議,將收購高性能、低功耗且可編程離散神經處理單元(NPU)供應商Kinara。此次收購將顯著增強在邊緣人工智能(AI)領域的技術實力。
    的頭像 發表于 02-18 14:29 ?609次閱讀

    開啟中國戰略新篇章

    全球領先的智能邊緣系統供應商近期宣布,將在現有中國業務布局基礎上,進一步整合中國區銷售與市場、技術支持、質量管理、運營與供應鏈、以及全球新能源及驅動系統產品線,組成垂直的業務單元——“中國
    的頭像 發表于 02-14 11:26 ?707次閱讀

    半導體6.25億美元收購TTTech Auto

    半導體(NXP)近日宣布,將以6.25億美元現金收購奧地利知名的汽車軟件開發商TTTech Auto。這一戰略收購將進一步鞏固
    的頭像 發表于 01-09 14:53 ?540次閱讀

    使用無線FRDM開發板實現創新無線解決方案

    開發人員現在面臨著前所未有的挑戰,需要為各種產品設計復雜的軟件,通常還要使用不同的處理器。的MCUXpresso Developer Experience通過適用于多種MCU平臺的通用框架解決了許多挑戰。
    的頭像 發表于 11-26 17:40 ?10w次閱讀
    使用<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>無線FRDM<b class='flag-5'>開發</b>板實現創新無線解決方案

    發布首個UWB無線BMS解決方案

    汽車市場值得信賴的創新解決方案合作伙伴半導體發布新一代無線電池管理系統(BMS)解決方案,擁有業內最豐富的UWB產品組合之一,方案集成了UWB的強大功能。新一代UWB BM
    的頭像 發表于 11-26 17:36 ?1486次閱讀

    基于MCX N系列MCU的應用示例

    全新MCX微控制器系列,為新一代工業與物聯網廣泛的應用賦能,受到廣大邊緣智能開發者的青睞。
    的頭像 發表于 10-25 14:26 ?1551次閱讀

    和采埃孚合作開發基于SiC的電動汽車牽引逆變器解決方案

    半導體宣布與電動汽車領域領先企業采埃孚股份公司(ZF Friedrichshafen AG)合作下一代基于SiC的電動汽車(EV)牽引逆變器解決方案。解決方案采用先進的GD
    的頭像 發表于 08-27 09:48 ?1780次閱讀

    【龍芯2K0300蜂鳥板試用】CAN接口驅動板設計、CANFD測試CAN C++程序驅動測試

    繪制接口板 3k0300支持4路CANFD,從原理圖來看,只是把TX和RX放出來了,并沒有差分收發器IC。 為了測試CAN功能,必須先做一個驅動板。 兩路CANFD擠在一個6P
    發表于 08-25 21:09
    主站蜘蛛池模板: 欧美精品黑人性xxxx | 日本视频一区在线观看免费 | 丁香五香天堂网 | 在线看黄网站 | аⅴ资源中文在线天堂 | 色在线视频观看 | 亚洲成a人片在线网站 | caoporn成人免费公开 | 婷婷亚洲综合五月天小说在线 | 在线天堂中文在线资源网 | 手机看高清特黄a大片 | 最新午夜宅男 | 日本黄段视频 | 美女大黄三级视频在线观看 | 噜噜噜 综合 亚洲 | 午夜欧美福利视频 | 日本欧洲亚洲一区在线观看 | 天天想夜夜操 | 首页 亚洲 欧美 制服 丝腿 | 欧美性色视频 | 看天堂| 99久久久精品免费观看国产 | 狠狠五月深爱婷婷网 | 黄色毛片免费网站 | 国产午夜小视频 | 日本三级日本三级人妇三级四 | 日韩欧美中文在线 | 欧美一级特黄aaaaaa在线看首页 | 精品爱爱 | se97se成人亚洲网站在线观看 | 天天干天天爱天天射 | 美女好紧好大好爽12p | 色综合天天综合网国产成人 | 男人天堂网www | h视频在线播放 | 一级毛片免费全部播放 | 男人日女人视频在线观看 | 亚洲国产影视 | 特黄特色大片免费播放器9 特黄特色大片免费视频播放 | 欧美日韩不卡码一区二区三区 | 天天操网 |