Robofun 機器人論壇
標題:
請問 判斷一個字串的第幾個字符
[打印本頁]
作者:
tuyn76801
時間:
2016-12-13 19:52
標題:
請問 判斷一個字串的第幾個字符
下面這張圖片,我用紅色框框圈起來的部分,應該怎麼寫?
mBlockArduino18-10.jpg
(128.54 KB, 下載次數: 343)
下載附件
2016-12-13 19:43 上傳
圖片出處
>>
http://openhome.cc/Gossip/CodeDa ... BlockArduino18.html
"將變數index的值改變1"這段,指的大概是把
index的值+1的意思
XXX字串的第N個字符,這種指令我不會,可以的話簡單教一下,謝謝
作者:
超新手
時間:
2016-12-14 10:06
"應該怎麼寫?" 是指..什麼意思嗎?
它是說, pinStates 是一個輸入的字串, 由八個字符(字元)組成
以變數 H 來說, 它是由 L, H, H, L, H, H, H, L 組成
以變數 E 來說, 它是由 H, L, L, H, H, H, H, L 組成
....
這個副程式分別去讀字串的第一個到第八個字符
每次讀一個字符(字元)去判斷,
如果是 H, 就把 數位接腳2設為高電位
如果是 L, 就把 數位接腳2設為低電位
.....
共做八次
所以如果是變數 H, 紅框中就是
第一個迴圈因為讀到的是 L, 數位接腳2設為低電位
第二個迴圈因為讀到的是 H, 數位接腳2設為高電位
第三個迴圈因為讀到的是 H, 數位接腳2設為高電位
第四個迴圈因為讀到的是 L, 數位接腳2設為低電位
第五個迴圈因為讀到的是 H, 數位接腳2設為高電位
第六個迴圈因為讀到的是 H, 數位接腳2設為高電位
第七個迴圈因為讀到的是 H, 數位接腳2設為高電位
第八個迴圈因為讀到的是 L, 數位接腳2設為低電位
作者:
tuyn76801
時間:
2016-12-14 10:50
對不起我講得不夠清楚 我想問的是紅圈裡的"程式碼"
也就是您說的:
這個副程式分別去讀字串的第一個到第八個字符
每次讀一個字符(字元)去判斷,
如果是 H, 就把 數位接腳2設為高電位
如果是 L, 就把 數位接腳2設為低電位
這段的程式碼
作者:
超新手
時間:
2016-12-14 10:58
本帖最後由 超新手 於 2016-12-14 11:02 編輯
你是
要改成 Arduino 的C 程式嗎?
如果是,
你給的連結下面就有程式碼了
只是它改成 int 而已, 不是用字符
和圖形化的程式有一點小小不同
作者:
tuyn76801
時間:
2016-12-14 13:06
for(int i = 0;i < 8; i++) {
digitalWrite(dataPin, pinState[number - 1][i]);
digitalWrite(clockPin, 1);
digitalWrite(clockPin, 0);
}
這段嗎?
[number - 1][i] 分別是什麼意思?
作者:
超新手
時間:
2016-12-14 13:24
這是陣列, 分別用 [][] 裡面的值去取得陣列值
也就是用 number - 1 和 i 去取得陣列的值
const int pinState[9][8] = {
{0, 1, 1, 0, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1, 0}, // 2
{1, 1, 1, 1, 1, 0, 1, 0}, // 3
{0, 1, 1, 0, 0, 1, 1, 0}, // 4
{1, 0, 1, 1, 0, 1, 1, 0}, // 5
{1, 0, 1, 1, 1, 1, 1, 0}, // 6
{1, 1, 1, 0, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1, 0}, // 8
{1, 1, 1, 1, 1, 1, 0, 0} // 9
};
作者:
tuyn76801
時間:
2016-12-14 15:33
原來如此 我大概懂了
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2