PHPが読み取るためにエコーされたデータが必要になるため、LinuxからArduinoに送信されたデータを16進コマンドでエコーバックしたい。問題は、完全なデータを印刷するために改行を使用したくないことです。Arduinoで読み取るデータがなくなったら印刷したいです。コードは次のとおりです。
私が達成しようとしていること:
- ない場合に一連の読み取りの終わりを見つける方法
\n
- 希望する形式で 16 進数を出力する方法。
Arduino コード:
char printByte[100];
byte getByte;
int pos = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0){
getByte = Serial.read();
printByte[pos] = getByte;
pos++;
printByte[pos] = '\0';
if(getByte == '\n'){
Serial.print(printByte);
for(int i=0; i<=sizeof(printByte);i++){
printByte[i]=0;
}
pos = 0;
}
}
}
16進数を送信するLinuxサンプルコード..
unsigned char pCom[2][7]={{0xFF,0x01,0x00,0x10,0x2F,0x2F,0x6F},
{0xFF,0x01,0x00,0x08,0x2F,0x2F,0x67}};
write(fd,pCom[0],8);
0x
また、どうすれば Arduino コードを削除できますFF 01 10
か?