Strona 1 z 1

Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 13:46
autor: Jakub Jewuła
Cześć

Ucze się podstaw Arduino, żeby zrobić sobie termometr czy coś ;)
Niestety wykładam się na podstawach pewnie. Teraz probuje zdefiniowac wlasne
funkcje roznego rodzaju, zeby pozniej miec czytelniejszy kod, ale kurcze wykladam
sie na jakis pierdolach. Tu przyklad: nie moge znalezc bledu w tym kodzie,
moze ktos podpowie co robie zle?

Kod: Zaznacz cały

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4); 

#define LCD_Line1;
String tekst="";

void setup(){
  lcd.init();
  LCD_Line1("  TEST  ");
}

void LCD_Line1(tekst){
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("                ");
  delay(100);
  lcd.setCursor(0,0);
  lcd.print(tekst);
  }
Z gory dzieki..

q

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 14:24
autor: pma_
#define LCD_Line1 rozwija ci się na nic.

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 14:31
autor: darek_op
Według mnie to przede wszystkim nie ma głównej pętli programu

void loop()
{
// kod głównego programu

}

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 14:38
autor: Jakub Jewuła
No ale chyba nie o to chodzi...
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display

#define LCD_Line1;

void setup(){
lcd.init();
lcd.backlight();
}

void loop(){
LCD_Line1(" TEST ");
delay(1000);
}


void LCD_Line1(tekst){
lcd.setCursor(0,0);
lcd.print(" ");
delay(100);
lcd.setCursor(0,0);
lcd.print(tekst);
}
LCD_testy:19:22: error: expected constructor, destructor, or type conversion before '{' token
void LCD_Line1(tekst){

Nie cierpie tego komunikatu bledu, zazwyczaj oznacza jakas pierdole przez ktora utykam :)

q

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 14:42
autor: darek_op
i jeszcze wywal to

#define LCD_Line1;

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 14:44
autor: Jakub Jewuła
error: variable or field 'LCD_Line1' declared void

...OK, juz wiem - nie dalem deklaracji jakiego rodzaju zmiennej ma spodziewac sie funkcja.
Powinno byc:

void LCD_Line1(String tekst){

Teraz bangla :)

q

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 15:04
autor: darek_op
ta linia
void LCD_Line1(tekst){
powinna wyglądać tak

void LCD_Line1(string tekst){

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 15:06
autor: Jakub Jewuła
Bylem szybszy :) Dzieki!

q

Re: Gdzie robie blad w programie arduino...

: niedziela 13 sty 2019, 15:41
autor: Szymon
Coś mi się kojarzy, że String to chyba dosyć ciężka biblioteka. Do prostych aplikacji się nadaje, ale do większych projektów zużywa dużo pamięci.