// program lahko iz serijskega porta prebere do 50 znakov in jih zapise v seznam tipa char
// vsebino izpisemo na serijski port
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define MAKSsteviloZnakov 50
#define LCD_COLUMNS 20
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR,LCD_COLUMNS,LCD_LINES);
char seznam[MAKSsteviloZnakov];
bool novPodatek = false; // ali smo prebrali vse podatke iz porta
int stevec = 0;
char imena[] = "Janko,Meta,Nika";
void setup() {
lcd.init();
lcd.setCursor(0,0);
lcd.print("vpisi niz znakov");
Serial.begin(115200);
Serial.println("Vpisi niz znakov: ");
Serial.println("razdeli seznam na posamezna imena");
char *token = strtok(imena,',');
while(token != NULL){
Serial.println(token);
token = strtok(NULL,',');
}
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()){
Serial.readBytesUntil('\n',seznam,MAKSsteviloZnakov);
novPodatek = true;
}
if(novPodatek){
Serial.print("Vpisani znaki so: ");
Serial.println(seznam);
novPodatek = false;
for(int i=0;i<MAKSsteviloZnakov;i++){
if(seznam[i]==','){
stevec++;
}
}
//seznam se mora zbrisati
for(int i=0;i<MAKSsteviloZnakov;i++){
seznam[i] = 0;
}
}
}