跪求大神 帮小弟看看
int sensorValue0 = analogRead(A0);int sensorValue1 = analogRead(A1);
int sensorValue2 = analogRead(A2);
int sensorValue3 = analogRead(A3);
int sensorValue4 = analogRead(A4);
int sensorValue5 = analogRead(A5);
double voltage0=sensorValue0*(1.1/1023*3.01);
double voltage1=sensorValue1*(1.1/1023*3.01);
double voltage2=sensorValue2*(1.1/1023*3.01);
double voltage3=sensorValue3*(1.1/1023*3.01);
double voltage4=sensorValue4*(1.1/1023*3.01);
double voltage5=sensorValue5*(1.1/1023*3.01);
Serial.print("Battery 1: ");
Serial.print(voltage0);
Serial.print(" Battery 2: ");
Serial.print(voltage1);
Serial.print(" Battery 3: ");
Serial.print(voltage2);
Serial.print(" Battery 4: ");
Serial.print(voltage3);
Serial.print(" Battery 5: ");
Serial.print(voltage4);
Serial.print(" Battery 6: ");
Serial.println(voltage5);
这种代码 怎么用for循环精简呢?
求解
struct {
uint8_t pin;
const char *str;
} list[] =
{
{A0, "Battery 1: "},
{A1, " Battery 2: "},
{A2, " Battery 3: "},
{A3, " Battery 4: "},
{A4, " Battery 5: "},
{A5, " Battery 6: "},
};
for(uint8_t i = 0; i < sizeof(list) / sizeof(list); i++)
{
int sensorValue = analogRead(list.pin);
double voltage= sensorValue * (1.1 / 1023* 3.01);
Serial.print(list.str);
Serial.print(voltage);
}
histamine 发表于 2013-4-19 23:44 static/image/common/back.gif
感谢先其次是太复杂了有点难以学习 呵呵 缪飞虎 发表于 2013-4-19 23:45 static/image/common/back.gif
感谢先其次是太复杂了有点难以学习 呵呵
用C语言写程序经常会用到这种将数据和逻辑分离的方法:lol histamine 发表于 2013-4-19 23:48 static/image/common/back.gif
用C语言写程序经常会用到这种将数据和逻辑分离的方法
新问题 串口输出的值 每一段被换行了
可以不用一句一句的方式让它完整的显示Battery 1-Battery 6么? 缪飞虎 发表于 2013-4-19 23:52 static/image/common/back.gif
新问题 串口输出的值 每一段被换行了
可以不用一句一句的方式让它完整的显示Battery 1-Battery 6么? ...
不好意思,理解能力比较差,没理解您的意思
仔细看了下1L的源代码,最后一行是
Serial.println(voltage5);
所以在我那个代码for循环结束后在加一行Serial.println("");才能使得每次输出Battery 1 - Battery 6之后换一行
页:
[1]