【发布时间】:2014-01-09 20:22:30
【问题描述】:
我正在制作一个小的 arduino 二进制计算器。
我让代码运行了一些小数学题:✓
我将答案从十进制转换为二进制:✓
我用 for 循环遍历二进制答案并打开面包板上的 LED 以显示答案:✗
//First led in pin 2
void setup()
{
Serial.begin(9600);
}
//I have the code run some little math problem:Check
int a=2;
int b=5;
int answer=b-a;
int myNum = answer;
void loop(){
//I convert the answer from decimal to binary:Check
int zeros = 8 - String(myNum,BIN).length();
String myStr;
for (int i=0; i<zeros; i++) {
myStr = myStr + "0";
}
myStr = myStr + String(myNum,BIN);
Serial.println(myStr);
//I loop through the binary answer with a for loop
//and power on LEDs on a bread board to display the answer:Not check
for(int i=2;i<=9;i=i+1){
//This part doesn't work
if(int(myStr[i-2])==1){
digitalWrite(int(i), HIGH);
}else{Serial.println(myStr[i-2]);}
}
while(true){}
}
由于某种原因,它说 int(myStr[i-2]) 永远不等于 1。
提前感谢您的帮助。
【问题讨论】: