簡體   English   中英

如何將變量傳遞給 const char 類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM