1、基于艾克姆科技的STC32G12K128開發板+CAN轉TTL模塊,提供CAN通信的測試程序,程序是庫函數版本。
2、實驗連接圖如下:(本實驗用到的是單片機的CAN2)
CAN總線通信實驗連接圖.jpg (1.17 MB, 下載次數: 52)
下載附件
2022-9-5 17:07 上傳
3、CAN總線通信肯定不能只有一個節點,所以用戶還需電腦端連接個USB轉CAN的轉換器方便測試。USB轉CAN轉換器的CANH連接上圖CANH端子,USB轉CAN轉換器的CANL連接上圖CANL端子。
4、硬件連接好后,電腦打開USB轉CAN測試用軟件,設置波特率500K,通信界面如下:
實驗現象截圖.jpg (386.88 KB, 下載次數: 49)
下載附件
2022-9-5 17:12 上傳
5、程序源碼基于Keil C251編寫。詳見附件
單片機源程序如下:- #include "can.h"
- /**************************************************************************
- 功能描述:CAN口初始化
- 入口參數:無
- 返回值:無
- *************************************************************************/
- void CAN_Init(void)
- {
- CAN_InitTypeDef CAN_InitStructure; //結構定義
-
- P0_MODE_IO_PU(GPIO_Pin_2|GPIO_Pin_3); //P0.2~P0.3 設置為準雙向口
- CAN2_SW(CAN2_P02_P03); //CAN2_P02_P03,CAN2_P52_P53,CAN2_P46_P47,CAN2_P72_P73
- EAXSFR(); //將EAXFR位置1,以訪問在XDATA區域的擴展SFR
- CAN_InitStructure.CAN_Enable = ENABLE; //CAN功能使能 ENABLE或DISABLE
- CAN_InitStructure.CAN_IMR = CAN_ALLIM; //CAN中斷寄存器 CAN_DOIM,CAN_BEIM,CAN_TIM,CAN_RIM,CAN_EPIM,CAN_EWIM,CAN_ALIM,CAN_ALLIM,DISABLE
- CAN_InitStructure.CAN_SJW = 0; //重新同步跳躍寬度 0~3
- CAN_InitStructure.CAN_SAM = 0; //總線電平采樣次數 0:采樣1次; 1:采樣3次
- //CAN總線波特率=Fclk/((1+(TSG1+1)+(TSG2+1))*(BRP+1)*2)
- CAN_InitStructure.CAN_TSG1 = 2; //同步采樣段1 0~15
- CAN_InitStructure.CAN_TSG2 = 1; //同步采樣段2 1~7 (TSG2 不能設置為0)
- CAN_InitStructure.CAN_BRP = 3; //波特率分頻系數 0~63
- //24000000/((1+3+2)*4*2)=500KHz
- CAN_InitStructure.CAN_ACR0 = 0x00; //總線驗收代碼寄存器 0~0xFF
- CAN_InitStructure.CAN_ACR1 = 0x00;
- CAN_InitStructure.CAN_ACR2 = 0x00;
- CAN_InitStructure.CAN_ACR3 = 0x00;
- CAN_InitStructure.CAN_AMR0 = 0xff; //總線驗收屏蔽寄存器 0~0xFF
- CAN_InitStructure.CAN_AMR1 = 0xff;
- CAN_InitStructure.CAN_AMR2 = 0xff;
- CAN_InitStructure.CAN_AMR3 = 0xff;
- CAN_Inilize(CAN2,&CAN_InitStructure); //CAN2 初始化
-
- NVIC_CAN_Init(CAN2,ENABLE,Priority_1); //中斷使能, CAN1/CAN2; ENABLE/DISABLE; 優先級(低到高) Priority_0,Priority_1,Priority_2,Priority_3
- }
- /*********************************END FILE********************************************/
復制代碼
Keil代碼下載:
程序.7z
(45.67 KB, 下載次數: 47)
2022-9-7 02:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|