|
本帖最後由 超新手 於 2017-11-15 11:54 編輯
>>我一直送A給他 他就這樣 "應該"是有在運作?
是的, 你的手機程式不就是在做這件事
每2秒送一次 a, 同時看有沒有收到值
因為送的是ascii code, 所以有些字會看不到, 或是亂碼
但 a, b, c 一定看的到
也就是 arduino 端看起來沒問題, 至少有反應
我自己試了一下,
但因為我沒有 sensor 可用, 所以就亂送資料
看來三個值都有顯示
你可以參考看看
- void setup() {
- Serial.begin(9600);
- }
- int testx, testy, testz;// 測試用, 請自行修成自己的程式
- void loop() {
- // put your main code here, to run repeatedly:
- byte Data[9];
- int x = testx;// 測試用, 請自行修成自己的程式
- int y = testy;// 測試用, 請自行修成自己的程式
- int z = testz;// 測試用, 請自行修成自己的程式
- Data[0] = 'a';
- Data[1] = x / 256;
- Data[2] = x % 256;
- Data[3] = 'b';
- Data[4] = y / 256;
- Data[5] = y % 256;
- Data[6] = 'c';
- Data[7] = z / 256;
- Data[8] = z % 256;
- if (Serial.available() > 0) {
- char c = Serial.read();
- switch (c) {
- case 97:
- for (int i = 0 ; i < 9 ; i++) {
- Serial.write(Data[i]);
- }
- // 測試用, 請自行修成自己的程式
- testx++;
- testy+=2;
- testz+=3;
- // 測試用, 請自行修成自己的程式
- break;
- }
- }
- }
複製代碼
另外. 其實不用送那麼多對齊字元(如 'a', 'b', 'c')
送一個是有點少, 沒對齊的機率是 1/256(資料錯誤)
送二個, 沒對齊的機率是 1/65536, 也差不多了
送三個, 沒對齊的機率是 1/16777216
附帶說明一下
下面 app 程式的這種寫法只適用顯示正數
如果出現負數, 顯示結果就會完全不正確
免得以後的人照抄, 又發現問題而不知道如何解決 |
-
1.jpg
(55.23 KB, 下載次數: 292)
|