//↓下をコピー&ペースト↓
//↓下をコピー&ペースト↓
#include<SoftwareSerial.h>
#define M0 6
#define M1 5
#define AUX 4
#define RX 3
#define TX 2
SoftwareSerial mySerial(TX,RX);//TX,RX
byte buf_get[3]={0xC1,0xC1,0xC1};
byte buf_ver[3]={0xC3,0xC3,0xC3};
byte buf_reset[3]={0xC4,0xC4,0xC4};
byte rxBuf;
byte recvBuf[32];
byte buf[6]={0xC0,0x00,0x01,0x1A,0x17,0x44}; //送るパラメータ
// No.0: C0: 保存
// No.1: 00: ↓
// No.2: 01: アドレス 0001
// No.3: 1A: 8N1 9600bps 2.4kbps
// No.4: 17: CH
// No.5: 44: OPTION
int dataCount=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
mySerial.begin(9600);
pinMode(M0,OUTPUT);
pinMode(M1,OUTPUT);
pinMode(AUX,INPUT);
digitalWrite(M0,HIGH);
digitalWrite(M1,HIGH);
while(digitalRead(AUX)==1){ //AUXがHIGHになるまで待機
;
}
/*-----------------------------------------------------*/
mySerial.write(buf_ver,3); //バージョンの確認
delay(10);
while(mySerial.available()){
rxBuf=mySerial.read();
recvBuf[dataCount] = (uint8_t)rxBuf;
delayMicroseconds(100);
dataCount++;
}
for (int i = 0; i < dataCount; i++) {
Serial.print(recvBuf[i], HEX);
Serial.print(":");
}
Serial.print("\n");
delay(1000);
/*-----------------------------------------------------*/
mySerial.write(buf_get,3); //変更前のパラメータの取得
delay(10);
while(mySerial.available()){
rxBuf=mySerial.read();
recvBuf[dataCount] = (uint8_t)rxBuf;
delayMicroseconds(100);
dataCount++;
}
for (int i = 0; i < dataCount; i++) {
Serial.print(recvBuf[i], HEX);
Serial.print(":");
}
Serial.print("\n");
delay(1000);
/*-----------------------------------------------------*/
mySerial.write(buf,6); //パラメータの変更
for (int i = 0; i < 6; i++) { //送信データを表示
Serial.print(recvBuf[i], HEX);
Serial.print(":");
}
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
mySerial.write(buf_get,3); //変更後のパラメータの取得
delay(10);
while(mySerial.available()){
rxBuf=mySerial.read();
recvBuf[dataCount] = (uint8_t)rxBuf;
delayMicroseconds(100);
dataCount++;
}
for (int i = 0; i < dataCount; i++) {
Serial.print(recvBuf[i], HEX);
Serial.print(":");
}
Serial.print("\n");
delay(2000);
}