Как напечатать массив строк, сгенерированный при обработке, в Arduino - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь отправить строку, сгенерированную при обработке, в Arduino, чтобы ее можно было распечатать на ЖК-экране.При использовании этого метода на ЖК-дисплее ничего не появляется.Я пробовал различные методы, и из моих исследований я пытаюсь использовать следующий метод:

#include <LiquidCrystal.h>

char inData[9]; // Allocate some space for the string
char inChar=-1; // Where to store the character read
byte index = 0; // Index into array; where to store the character

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,1);
Serial.begin(9600); // Start serial communication at 9600 bps
}

 char Comp(char* This) {
while (Serial.available() > 0) // Don't read unless
                               // there you know there is data
{
    if(index < 8) // One less than the size of the array
    {
        inChar = Serial.read(); // Read a character
        inData[index] = inChar; // Store it
        index++; // Increment where to write next
        inData[index] = '\0'; // Null terminate the string
    }
}

if (strcmp(inData,This)  == 0) {
    for (int i=0;i<8;i++) {
        inData[i]=0;
    }
    index=0;
    return(0);
}
else {
    return(1);
}
}

void loop() 
{
if(Serial.available() > 0){
lcd.print(inData[index]);
}
}

1 Ответ

0 голосов
/ 01 февраля 2019

Я не уверен насчет моего ответа, но это может быть из-за того, что indata завершается до того, как его напечатали.Хотя мне неловко с моим ответчиком, но, надеюсь, это помогло.

окончание:

    inData[index] = '\0'; // Null terminate the string
...