2016年5月22日 星期日

Arduino Uart 互傳字串 與 字串處理 依特定符號切割

Arduino Uart 互傳字串 與 字串處理 依特定符號切割

兩台arduino要互傳

兩台arduino要互傳字串的話這裡寫一個範例
注意
  • 兩台不要形成死循環,[A給B] [B再給A] [然後A再給B]…..
  • 會新建一個uart通道,而不是使用預設的
通道請參考程式碼頂端的宣告
https://gist.github.com/hunandy14/8ca4066e16b188967b15d3010fb44d67
已經盡量用不會混淆的方式註解
要表達兩台人稱問題其實有些困難XD

字串切割

字串切割的話這裡也有一個範例,可以自訂格式
比如說你想要船 0,1,2,3 你想把他們依照逗號存到陣列內
也可以依照其他符號,由你自己設定
https://gist.github.com/hunandy14/7337c945691c8eee8486e7756592d66c
裡面忘記放使用範例了
大致來說是這樣的
(第一個放字串,第二個放符號)
str_split(const char* str, const char* sp)
char str="1,2,3";
int *ptr=0;                  //注意星號
ptr=str_split(str,",");  //逗號可以任意修改成你要的形式
println(ptr[0]);           //返回為一個陣列的指標,可以直接使用下標[]呼叫

釋放記憶體

因為是動態陣列,結束時要釋放記憶體
(動態陣列意思就是回便你字串都常都可以適應)
free(ptr);
不過arduino是沒有結束點的,無限循環,
依照你的程式設計去選擇,這裡也不好舉例子說明
通常不放也不會造成問題,新手可以先暫時放置著
完成功能後再去想辦法解決這個問題。

沒有留言:

張貼留言