|
|
发表于 2015-8-20 23:32:34
|
显示全部楼层
你的程式中, 有太多問題了, 很難完全說清楚.
從你的程式, 很難確定你想做什麼, 因為太多錯誤了.
首先, 你好像想用 array 去做, 之後忽然想用 pointer (disp = HEXsu[]) 去做.
如果是想把 HEXsu 的值一個個送出去, 用 index 的方式就可以, 不需要 pointer.
disp = HEXsu[]; <- 完全不明白你想做什麼.
if (disp==10); <- 兩句加起來看, 完全是莫名其妙
如果是 disp 是 (char *), 就應該是 disp = HEXsu;
但你之後 Serial.write(disp) 就應該改成 Serail.write(*disp);
當中 disp++ 就更加沒意思, 因為 disp 在 while 之內設定, 每次都會是同一個位置.
可能你是想用 arrat index 的做法, 但完全做錯了.
一開始應該是設定 int disp; 之後初設值為 0, 即 disp = 0; 應該放 while 之外.
而輸出應該是 Serial.write(HEXsu[disp]);.
如果只是為了 輸出 0 至 10 的數值, 也不用加一個 array 去記下, 直接把 disp 的值輸出就可以了.
反正 HEXsu[disp] 的值, 當 disp 是 0 至 9 時, 跟 disp 的值是一樣的.
自己看不出問題, 可能你本身對 c++ 並不認識, 建議你先看看 c++ 語言的教學吧.
還有一點, 不知你的串口液晶屏接收的訊號會如何顯示, 一般收到 0x00 , 0x01, ... 是不會顯示出數字 0, 1, ... 的. |
|