CAN-SEND-HEX

Committer:
1038456
Date:
Mon Oct 10 04:25:26 2022 +0000
Revision:
3:78ff85763192
Parent:
2:2ceffb6d9aa8
CAN-SEND-HEX

Who changed what in which revision?

UserRevisionLine numberNew contents of line
1038456 0:34d79c8a92da 1 #ifndef CAN_SEND_H
1038456 0:34d79c8a92da 2 #define CAN_SEND_H
1038456 0:34d79c8a92da 3 #include "mbed.h"
1038456 0:34d79c8a92da 4
1038456 1:3a2a08351d93 5 #if 0
1038456 3:78ff85763192 6 ----------------------------------------------------------------------------------------------------------
1038456 1:3a2a08351d93 7 ~ピン配列~
1038456 1:3a2a08351d93 8 F446RE D4 D10
1038456 1:3a2a08351d93 9 L432KC D10 D2
1038456 0:34d79c8a92da 10
1038456 1:3a2a08351d93 11 ~使用方法~
1038456 2:2ceffb6d9aa8 12 •送る側
1038456 2:2ceffb6d9aa8 13 CANSend can(RD,TD);
1038456 2:2ceffb6d9aa8 14 can.SEND(id,num1,num2,num3,num4);//id,numは自由に指定自由、値は4個まで行けますidは必須numは設定しなくてもいい
1038456 2:2ceffb6d9aa8 15
1038456 2:2ceffb6d9aa8 16 •受信側
1038456 3:78ff85763192 17 CAN can(RD,TD);
1038456 3:78ff85763192 18 CANMessage msg;//CANメッセージ生成
1038456 2:2ceffb6d9aa8 19 while(1){
1038456 3:78ff85763192 20 can3.read(msg);
1038456 3:78ff85763192 21 if(msg.id == 1) {//msg.idで送信側のidを参照することif文で値を振り分けれます
1038456 3:78ff85763192 22 num1 = (msg.data[0] * 16 * 16) + msg.data[1]; //これらの式で送られてきた値を戻す。
1038456 3:78ff85763192 23 num2 = (msg.data[2] * 16 * 16) + msg.data[3]; //いじり方次第では値の数を増やせる(値の上限値は小さくなる)
1038456 3:78ff85763192 24 num3 = (msg.data[4] * 16 * 16) + msg.data[5]; //わからないことがあればM2139までお問い合わせください
1038456 3:78ff85763192 25 num4 = (msg.data[6] * 16 * 16) + msg.data[7]; // 2022年10月10日 13:00 (月) 制作
1038456 2:2ceffb6d9aa8 26 }
1038456 2:2ceffb6d9aa8 27 }
1038456 3:78ff85763192 28 ----------------------------------------------------------------------------------------------------------
1038456 1:3a2a08351d93 29 #endif
1038456 0:34d79c8a92da 30
1038456 0:34d79c8a92da 31 class CANSend
1038456 0:34d79c8a92da 32 {
1038456 2:2ceffb6d9aa8 33
1038456 0:34d79c8a92da 34 public:
1038456 0:34d79c8a92da 35 CANSend(PinName RD,PinName TD);
1038456 2:2ceffb6d9aa8 36 void SEND(int,int num1 = 0,int num2 = 0,int num3 = 0 ,int num4 = 0);//id data
1038456 0:34d79c8a92da 37 private:
1038456 0:34d79c8a92da 38 CAN can;//can通信宣言
1038456 2:2ceffb6d9aa8 39 char DATA[8];
1038456 0:34d79c8a92da 40 };
1038456 0:34d79c8a92da 41 #endif