#c #arduino
#c #arduino
Вопрос:
Я пытаюсь создать своего рода средство выбора чисел. Он покажет вам от 0 до 9 и, используя X, который я напишу поверх числа, вы можете выбрать число. В качестве примера 01234567×9 или 0123×56789. Однако я борюсь с печатью этого на ЖК-дисплее. Я использую tinkercad, поэтому все мои pin-соединения предопределены и в значительной степени корректны. Я использую стандартный ЖК-дисплей tinkercad и LiquidCrystal в качестве библиотеки.
Но когда я использую lcd.print("Hello World)
in void loop(), он непрерывно печатает Hello World, очевидно, потому, что я помещаю его в цикл. Я пытался поместить это в функцию, но я не могу заставить ее работать… Некоторая помощь была бы идеальной.
Это код, который я использую в настоящее время, он возвращает «слишком много аргументов для функции ‘void PrintText ()'» как ошибку.
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
char lcdtxt[] = "0123456789 x";
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
}
void PrintText(){
lcd.print(lcdtxt);
lcd.clear();
}
void loop() {
PrintText(lcdtxt);
}
Комментарии:
1. Не похоже, что у него должен быть тег C #.
2. определите функцию «setMessage», которая может устанавливать значение переменной «lcdtxt»
Ответ №1:
Видя ваш код, у вас есть глобальный массив символов, который содержит то, что будет записано, и PrintText()
будет принимать его ввод оттуда:
char lcdtxt[] = "0123456789 x";
void PrintText(){
lcd.print(lcdtxt);
lcd.clear();
}
void loop() {
PrintText(lcdtxt);
}
Итак, PrintText()
не будет принимать никаких аргументов, и вы вызываете его с одним. В этом случае сообщение об ошибке точно сообщает вам, что происходит.
Чтобы исправить ваш код, вам следует только удалить параметр для вызова `PrintText ()’, поскольку я понимаю, что вы уже инициализировали массив.
void loop() {
PrintText();
}
В любом случае вы должны определить PrintText()
функцию, принимающую a const char *
, и отправить ее на ЖК-дисплей.
Что касается непрерывного повторения hello world, я бы переместил вызов на PrintText()
to setup()
, поскольку вам не нужно такое поведение. Или, может быть, оставить его loop()
и остановить с помощью exit(0)
.