性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

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

MCU擴(kuò)展CAN/CAN FD接口方案-MCU軟件動(dòng)手實(shí)驗(yàn)

“本文通過動(dòng)手實(shí)驗(yàn),從無到有新建立一個(gè)MCU軟件工程,實(shí)現(xiàn)MCP2518FD的初始化和CAN FD報(bào)文發(fā)送與接收。”   

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

      本實(shí)驗(yàn)主要基于32位MCU的開發(fā)環(huán)境MPLAB® Harmony v3來完成,若您沒有安裝相關(guān)開發(fā)環(huán)境,請參考微信公眾號(hào)王超的小站"開發(fā)工具->工具安裝",依次安裝如下幾個(gè)部分,然后進(jìn)入動(dòng)手實(shí)驗(yàn)環(huán)節(jié)。

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, 點(diǎn)擊“Next”按鈕進(jìn)入下一步。

3)框架路徑設(shè)置為MPLAB® Harmony v3安裝過程中g(shù)it到本地的內(nèi)容所在的文件夾,然后點(diǎn)擊“Next”按鈕進(jìn)入下一步。

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

5)選擇器件,這里根據(jù)實(shí)驗(yàn)選擇32位Coretx-M0+ MCU ATSAMD21G17D,然后點(diǎn)擊“Finish”按鈕進(jìn)入下一步。

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

2. MHC(MPLAB Harmony Configurator)啟動(dòng)

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

2)MHC啟動(dòng)后的界面如下。

3. MHC中Pin配置

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

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

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

4. MHC中外設(shè)添加

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

2)SERCOM1設(shè)置:點(diǎn)擊SERCOM1后在右側(cè)可以看到其配置界面,綠色底色代表相較默認(rèn)值做了更改。這里將SPI時(shí)鐘速率設(shè)置為10MHz,SPI模式選擇MCP2518FD認(rèn)可的模式0,相應(yīng)的pad根據(jù)上述pin設(shè)置進(jìn)行調(diào)整。

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

5. MHC中系統(tǒng)滴答定時(shí)器添加

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

6. MHC中時(shí)鐘相關(guān)配置

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

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

7. MHC生成代碼

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

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

3)代碼生成過程中。。。完成后會(huì)自動(dòng)關(guān)閉該界面。

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

8. 添加其他工程代碼

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

2)將上述driver、app文件夾下的.c和.h添加到工程中;main.c因?yàn)槭翘鎿Q不用添加。

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

9. 器件編程及實(shí)驗(yàn)結(jié)果驗(yàn)證

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

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

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

4)設(shè)置波特率115200。

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

6)串口終端顯示報(bào)文ID 0x300~0x307可靠接收,報(bào)文ID 0x308~0x30f被過濾掉。至此,該動(dòng)手實(shí)驗(yàn)結(jié)束。。。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
本篇所含全部資料,點(diǎn)擊此處留下郵箱我會(huì)發(fā)給你
資料明細(xì):mcp2518fd_demo工程
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 5
收藏 4
關(guān)注 42
成為作者 賺取收益
全部留言
0/200
  • 熊紅 2022-11-27 11:37
    老師,能不能發(fā)我一下資料,謝謝! m1****@****.com
    回復(fù) 1條回復(fù)
  • 星球居民-u6Yn6Gg6 2020-11-26 15:57
    王工,您好。請幫忙提供一下例程資料,謝謝哈 bo****@****.com
    回復(fù) 1條回復(fù)
  • 星球居民-u6Yn6Gg6 2020-11-26 15:57
    王工,您好。請幫忙提供一下例程資料,謝謝哈 bo****@****.com
    回復(fù) 1條回復(fù)