[英]How to pass variable to const char type?
void printLCD(int col, int row , const char *str) {
for(int i=0 ; i < strlen(str) ; i++){
lcd.setCursor(col+i , row);
lcd.print(str[i]);
}
}
void loop(){
lightAmount = analogRead(0);
// Here
printLCD(0, 0, printf("Light amount: %d", lightAmount ));
}
我是 arduino 項目的 c 語言的新手。
我想在 LCD 上顯示"Light Amount: 222"
。
但是printLCD中的第三個參數printLCD
,它只能接收字符串類型,所以出現錯誤。
在上述情況下,如何將變量和字符串一起顯示?
printf
不返回字符串,它會將其打印到標准 output 默認情況下在大多數 Arduino 上未配置。
您可以使用snprintf C function 在 Arduino 草圖中格式化字符串。
void printLCD(int col, int row , const char *str) {
lcd.setCursor(col, row);
lcd.print(str);
}
void loop(){
lightAmount = analogRead(0);
char str[17]; // for 16 positions of the LCD + terminating 0
snprintf(str, sizeof(str), "Light amount:%d", lightAmount);
printLCD(0, 0, str);
delay(100);
}
一些 LCD 顯示庫支持print
function 用於數字。 然后你可以做
void loop(){
lightAmount = analogRead(0);
lcd.setCursor(0, 0);
lcd.print("Light amount:");
lcd.print(lightAmount);
delay(100);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.