99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

王超的小站
認證:VIP會員
所在專題目錄 查看專題
MCU擴展CAN/CAN FD接口方案-MCP2518FD+ATA6563
MCU擴展CAN/CAN FD接口方案-MCU軟件動手實驗
作者動態 更多
PIC24 & dsPIC33 MCU Bootloader開發
2021-11-08 15:12
PIC16 & PIC18 MCU Bootloader開發
2021-11-08 15:00
Python開發環境搭建(for Bootloader)
2021-11-08 14:58
Python開發環境搭建 (for Control)
2021-01-27 18:43
MCU擴展CAN/CAN FD接口方案-MCU軟件動手實驗
2020-11-25 14:11

MCU擴展CAN/CAN FD接口方案-MCU軟件動手實驗

“本文通過動手實驗,從無到有新建立一個MCU軟件工程,實現MCP2518FD的初始化和CAN FD報文發送與接收。”   

      雖然本專題上一篇文章已經介紹了基于MCP2518FD+ATA6563實現外擴CAN/CAN FD接口的設計過程,但在ATSAMD21G17D具體操作MCP2518FD的過程中可能還會碰到這樣那樣的問題,因此這里從無到有新建一個·工程,用一步一步的記錄展示完成上篇文章提到的軟件實現,使大家有一個更直觀的認識,方便大家評估軟件開發的工作量。

      本實驗主要基于32位MCU的開發環境MPLAB® Harmony v3來完成,若您沒有安裝相關開發環境,請參考微信公眾號王超的小站"開發工具->工具安裝",依次安裝如下幾個部分,然后進入動手實驗環節。

1)MPLAB® X IDE

2)MPLAB® XC32

3)MPLAB® Harmony v3

4)MPLAB® Data Visualizer

1. 新建工程

1)打開MPLAB® X IDE,選擇“File->New Project”。

2)彈出對話框選擇32-bit MPLAB Harmony 3 Project, 點擊“Next”按鈕進入下一步。

3)框架路徑設置為MPLAB® Harmony v3安裝過程中git到本地的內容所在的文件夾,然后點擊“Next”按鈕進入下一步。

4)設置工程所在的文件夾和工程名稱(這里將工程命名為mcp2518fd_demo),然后點擊“Next”按鈕進入下一步。

5)選擇器件,這里根據實驗選擇32位Coretx-M0+ MCU ATSAMD21G17D,然后點擊“Finish”按鈕進入下一步。

6)mcp2518fd_demo空工程建立后的界面如下。

2. MHC(MPLAB Harmony Configurator)啟動

1)新建工程后會自動彈出如下界面,DFP和CMSIS選擇默認配置,然后點擊“Launch”按鈕啟動MHC。該界面在下次打開工程時也可以用戶手動彈出,在MAPLAB X IDE環境下,點擊菜單欄Tools->MPLAB® Harmony 3 Configurator即可。

2)MHC啟動后的界面如下。

3. MHC中Pin配置

1)在MHC界面,選擇Tools->Pin Configuration。

2)在Pin Settings界面,根據上篇文章提到的軟硬件接口表設置如下IO。

3)在Pin Table界面,根據上篇文章提到的軟硬件接口表設置SPI和USART,這兩個串口通訊都是借助ATSAMD21的SERCOM外設實現,該外設可根據用戶需要作為SPI、USART或I2C,非常靈活。這里ATSAMD21將SERCOM1作為與MCP2518FD通信的SPI外設,將SERCOM5作為與電腦串口終端的USART外設。

4. MHC中外設添加

1)在MHC界面,雙擊或拖拽的方式將左側外設下的SERCOM1和SERCOM5,及Tools下的STDIO添加到Project Graph下。

2)SERCOM1設置:點擊SERCOM1后在右側可以看到其配置界面,綠色底色代表相較默認值做了更改。這里將SPI時鐘速率設置為10MHz,SPI模式選擇MCP2518FD認可的模式0,相應的pad根據上述pin設置進行調整。

3)SERCOM5設置:點擊SERCOM5后在右側可以看到其配置界面,綠色底色代表相較默認值做了更改。這里將USART波特率設置為115200Hz,8位數據位,1位停止位,無奇偶校驗。同時將SERCOM5的UART口和STDIO的UART口相連,這樣生成代碼后用戶可以在工程中直接調用打印函數printf。

5. MHC中系統滴答定時器添加

點擊System后在右側可以看到其配置界面,綠色底色代表相較默認值做了更改,如下設置代表在生成代碼后用戶可以在工程中直接調用SYSTICK_DelayMs函數。

6. MHC中時鐘相關配置

1)在MHC界面,選擇Tools->Clock Configuration。

2)時鐘配置保持默認即可,可以看出SERCOM1和SERCOM5的外設時鐘默認是48MHz。

7. MHC生成代碼

1)如上配置保存后,在MHC界面選擇Generate->Generate Code。

2)彈出如下界面后點擊“Generate”按鈕生成代碼。

3)代碼生成過程中。。。完成后會自動關閉該界面。

4)此時在工程目錄下將包含MHC生成的外設等代碼,還包含一個基本的main.c。

8. 添加其他工程代碼

1)將MCP2518FD的driver、測試app和實驗main.c拷貝到工程目錄。

2)將上述driver、app文件夾下的.c和.h添加到工程中;main.c因為是替換不用添加。

3)工程頭文件路徑添加,添加文件夾drever/mcp2518fd_driver和app。

9. 器件編程及實驗結果驗證

1)按如下圖選擇仿真器和編譯器,點擊“Apply”后點擊“OK”按鈕。

2)點擊“編譯下載”按鈕,將程序燒錄到ATSAMD21G17D中。

3)選擇“Tools->Embedded->Data Visualizer”。

4)設置波特率115200。

5)選擇Send to terminal,開始接收ATSAMD21打印的報文消息。

6)串口終端顯示報文ID 0x300~0x307可靠接收,報文ID 0x308~0x30f被過濾掉。至此,該動手實驗結束。。。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
本篇所含全部資料,點擊此處留下郵箱我會發給你
資料明細:mcp2518fd_demo工程
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 5
收藏 4
關注 43
成為作者 賺取收益
全部留言
0/200
  • 熊紅 2022-11-27 11:37
    老師,能不能發我一下資料,謝謝! m1****@****.com
    回復 1條回復
  • 星球居民-u6Yn6Gg6 2020-11-26 15:57
    王工,您好。請幫忙提供一下例程資料,謝謝哈 bo****@****.com
    回復 1條回復
  • 星球居民-u6Yn6Gg6 2020-11-26 15:57
    王工,您好。請幫忙提供一下例程資料,謝謝哈 bo****@****.com
    回復 1條回復
主站蜘蛛池模板: 一本久久精品一区二区 | 精品成av人一区二区三区 | 草久在线播放 | 少妇被粗大的猛烈进出动态图片 | 国产伦理精品一区二区三区观看体验| 四虎自拍 | 超碰在线人人艹 | 99久久ER热在这里只有精品99 | 国产h在线观看 | 日本一区二区福利视频 | 中国黄色网址 | zzji亚洲日本少妇jizjⅰz | 男女好痛好深好爽视频 | 熟女泄火一区二区三区在线 | 日本aa在线观看 | 日韩新片在线观看 | 亚洲男女视频在线观看 | 高潮一区二区 | 国产欧美一区二区在线观看 | 久久久精彩 | 欧美性视频在线看 | 国产精品无码一区二区三区不卡 | 国产一区二区三区18 | 欧美一区二区三区蜜桃 | 梦想三国1-50集免费看 | 麻豆资源在线 | 亚洲国产成人无码AV在线播放 | 色情久久久AV熟女人妻网站 | 国产免费久久精品99RE丫丫 | 国产成人精品免费视频大 | 国产成熟人妻换╳╳╳╳ | av网址免费看 | 国产精品午夜久久久久久99热 | 国产一区二区视频在线看 | 亚洲视频一二区 | 一本大道中文日本香蕉 | 无翼乌之侵犯工口全彩老师 | 亚洲欧美在线播放 | 色婷婷五月综合亚洲影院 | 日欧一片内射VA在线影院 | 天天干天天摸天天操 |