|
串口通訊經(jīng)常用到,CAN通訊沒有接觸過,一直感到很神秘。。。。。。
今天進(jìn)行了CAN的實(shí)驗(yàn),沒想到如此簡單。
A板發(fā)送ID+自定義數(shù)據(jù)+增量自加1 接收到B板數(shù)據(jù)后由串口輸出
B板發(fā)送ID+自定義數(shù)據(jù)+增量自加1 接收到A板數(shù)據(jù)后由串口輸出
硬件準(zhǔn)備:CAN收發(fā)器模塊,一塊小小的板子,元件沒幾個(gè);
兩個(gè)單片機(jī)實(shí)驗(yàn)板,我用的是自制的STC32G12K128最小板和一個(gè)STC官方實(shí)驗(yàn)板;
一根網(wǎng)線;
當(dāng)然還要有電腦;
代碼下載:全部例程源碼和原理圖
CAN2雙板測試.7z
(369.96 KB, 下載次數(shù): 379)
2022-11-7 00:35 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
軟件準(zhǔn)備:編譯軟件KEILC251;下載及串口通訊軟件STCISP6.90
讓我們來開始實(shí)驗(yàn)吧!
首先更改例程代碼,兩塊板子A板和B板均使用CAN2進(jìn)行通訊,所以例程中做如下設(shè)置:
CAN2初始化要點(diǎn):地址;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; 再在主函數(shù)中加入CAN_S=0;
或者直接將第8腳接GND.
實(shí)驗(yàn)照片:
1.jpg (3.11 MB, 下載次數(shù): 45)
下載附件
2022-11-7 00:35 上傳
2.jpg (1.88 MB, 下載次數(shù): 41)
下載附件
2022-11-7 00:35 上傳
屠龍刀與最小板CAN通訊實(shí)驗(yàn).png (191.53 KB, 下載次數(shù): 61)
下載附件
2022-8-20 09:38 上傳
|
|