【Arduino】Arduinoにて文字列分割を試してみた
はじめに
こんにちは、がんがんです。
最近はArduinoをよく使用しております。PySerialで送信した文字を上手く扱う方法をいろいろ調べたりしてみます。
文字列分割用のsplit関数をArduino用に作成されている人がいましたので、
今回はそちらを試してみます。
参考記事
実験
実験は参考記事のままです。最終的にはPySerialから送信した文字の分割を行いたいです。
コード
String cmds[3] = {"\n"}; int split(String data, char delimiter, String *dst){ int index = 0; int arraySize = (sizeof(data))/sizeof((data[0])); int datalength = data.length(); for(int i = 0; i < datalength; i++){ char tmp = data.charAt(i); if( tmp == delimiter ){ index++; if( index > (arraySize - 1)) return -1; } else dst[index] += tmp; } return (index + 1); } void setup(){ // 文字列 String cmd = "on,off,on"; // 分割数 = 分割処理(文字列, 区切り文字, 配列) int index = split(cmd, ',', cmds); // 結果表示 Serial.begin(9600); for(int i = 0; i < index; i++){ Serial.println(cmds[i]); } } void loop(){ }
結果
まとめ
今回はArduino内で文字列の分割を行いました。
最終的には、PySerialから送信した文字を分割して送信していきたいです。