串口通訊經常用到,CAN通訊沒有接觸過,一直感到很神秘。。。。。。
今天進行了CAN的實驗,沒想到如此簡單。
A板發送ID+自定義數據+增量自加1 接收到B板數據后由串口輸出
B板發送ID+自定義數據+增量自加1 接收到A板數據后由串口輸出
硬件準備:CAN收發器模塊,一塊小小的板子,元件沒幾個;
兩個單片機實驗板,我用的是自制的STC32G12K128最小板和一個STC官方實驗板;
一根網線;
當然還要有電腦;
代碼下載:全部例程源碼和原理圖
CAN2雙板測試.7z
(369.96 KB, 下載次數: 379)
2022-11-7 00:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
軟件準備:編譯軟件KEILC251;下載及串口通訊軟件STCISP6.90
讓我們來開始實驗吧!
首先更改例程代碼,兩塊板子A板和B板均使用CAN2進行通訊,所以例程中做如下設置:
CAN2初始化要點:地址;CAN2引腳;速率;
A板地址:CAN2_ID = 0x012A; B板地址:CAN2_ID = 0x022A;
CAN2引腳:P_SW3 = (P_SW3 & ~(3)) | (1); // 0x00:P0.2,P0.3 0x01:P5.2,P5.3 0x02:P4.6,P4.7 0x03:P7.2,P7.3
切換到P5.2,P5.3引腳上;
要使TJA1050工作,還要讓其第8腳接GND,所以代碼中還要將P5^4置0:先定義引腳 sbit CAN_S = P5^4; 再在主函數中加入CAN_S=0;
或者直接將第8腳接GND.
實驗照片:
1.jpg (3.11 MB, 下載次數: 45)
下載附件
2022-11-7 00:35 上傳
2.jpg (1.88 MB, 下載次數: 41)
下載附件
2022-11-7 00:35 上傳
屠龍刀與最小板CAN通訊實驗.png (191.53 KB, 下載次數: 61)
下載附件
2022-8-20 09:38 上傳
|