###前提・実現したいこと
プログラミングの知識があまりない状態でArduinoを触り初めて四苦八苦しています。
Arduinoからモーターコントローラにシリアル通信でコマンドを送ると「POSS=900」といったような形で値が返ってくるのですがこれをchar型の配列に格納して返すことができる関数を作りたいです。
また、char型の配列の数字部分だけを抽出できたりしないでしょうか
最初、String型で処理をしていたのですがメモリが不足してしまったらしく、どうしようか悩んでいます。
よろしくお願いします。
###該当のソースコード
C++
1char command_exe(String command) { 2 int num; 3 char SerialRXBuffer[20]; 4 int SerialRXPointer = 0; 5 ch = '0'; 6 serial.flush(); 7 for (int i = 0; i < 20; i++) 8 SerialRXBuffer[i] = 0; 9 serial.println(command); 10 do { 11 if (serial.available()) { 12 ch = serial.read(); 13 SerialRXBuffer[SerialRXPointer] = ch; 14 SerialRXPointer++; 15 } 16 } while (ch != 0x0a); 17 delay(25); 18 return SerialRXBuffer; 19}
まず、現状のソースで問題となっているのはメモリ不足のみですか?ソースコードを実行して発生しているエラーがあれば省略せずに書いた方が的確なアドバイスを得られやすいと思います。