Gdzie robie blad w programie arduino...

Elektronika w modelu i na ziemi

Moderatorzy: moderatorzy2014, moderatorzy

Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Gdzie robie blad w programie arduino...

Post 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
Awatar użytkownika
pma_
Posty: 4651
Rejestracja: sobota 08 maja 2010, 09:43
Lokalizacja: Gliwice/Katowice

Re: Gdzie robie blad w programie arduino...

Post autor: pma_ »

#define LCD_Line1 rozwija ci się na nic.
samolot max 4579/1293 analog, DJI do końca zasięgu :)
coper max 1729(na 5.8)
Awatar użytkownika
darek_op
Posty: 780
Rejestracja: piątek 02 mar 2012, 12:47
Lokalizacja: Warszawa

Re: Gdzie robie blad w programie arduino...

Post autor: darek_op »

Według mnie to przede wszystkim nie ma głównej pętli programu

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

}
Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Re: Gdzie robie blad w programie arduino...

Post 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
Awatar użytkownika
darek_op
Posty: 780
Rejestracja: piątek 02 mar 2012, 12:47
Lokalizacja: Warszawa

Re: Gdzie robie blad w programie arduino...

Post autor: darek_op »

i jeszcze wywal to

#define LCD_Line1;
Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Re: Gdzie robie blad w programie arduino...

Post 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
Ostatnio zmieniony poniedziałek 14 sty 2019, 07:07 przez Jakub Jewuła, łącznie zmieniany 1 raz.
Awatar użytkownika
darek_op
Posty: 780
Rejestracja: piątek 02 mar 2012, 12:47
Lokalizacja: Warszawa

Re: Gdzie robie blad w programie arduino...

Post autor: darek_op »

ta linia
void LCD_Line1(tekst){
powinna wyglądać tak

void LCD_Line1(string tekst){
Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Re: Gdzie robie blad w programie arduino...

Post autor: Jakub Jewuła »

Bylem szybszy :) Dzieki!

q
Szymon
Posty: 992
Rejestracja: poniedziałek 06 wrz 2010, 09:18
Lokalizacja: Pruszków
Kontakt:

Re: Gdzie robie blad w programie arduino...

Post 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.
ODPOWIEDZ