LCD i PRG_RDB pomocy !!

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
PikaCZ

LCD i PRG_RDB pomocy !!

Post autor: PikaCZ » 20 lip 2005, 12:53

Cześć ! :) Jestem poczatkujacy w tej dziedzinie mam pewien problem... Chcę uruchomic wyswietlacz LCD 16x2 Robie to z ksiazka w reku :) ale i tak niechce dzialac :( Tak to wyglada:
Mam procedure

void pisztekst(char *tekst)
{

char nr=0;
char zn;

while(1)
{
zn=PRG_RDB($tekst[nr++]); >>tu kompilator zglasza: "warning: subscript has type
`char'"
if(zn!=0)
{
if(zn==CR)
{
wiersz==1?wiersz=0:++wiersz;
kolumna=0;
lcdxy(wiersz,kolumna);
}
else
{
piszdlcd(zn);
}
}
else
{
break;
}
}
}

Wywołuje ta procedure w nastepujacy sposób:
int main(void)
{


char *tekst1=PSTR("hello world"); >>tu kompilator zglasza: "warning: initialization
discards qualifiers from pointer target type"

PORTD=0xff;
PORTB=0x03;
DDRD=0x00;
DDRB=0xff;



startlcd(); //inicjalizacja lcd

piszilcd(0x0e); //zalaczam odpowiedni tryb kursor bez mrugania
pisztekst(tekst1); //chce napisac tekst
}

Wyswietlacz napewno jest sprawny inicjalizacja tez przebiega napewno poprawnie bo z wyswietleniem jednego znaku niemem problemu wszystko dziala. Gdy sprawdzam program w avr studio gdy chce podejrzec wartosc zmiennej ZN z procedury pisz tekst otrzymuje "NOT IN SCOPE" pomimo tego rze jestem w tej procedurze. Gdy jade krok po kroku wyglada to tak jakby wogole nie inicjowal tej zmiennej. Hmm nie mam pomyslu jak to rozwiazac :( Prosze o pomoc.
Z góry wielkie dzieki....

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 24 lip 2005, 18:07

Tu tkwi błąd:
$tekst[nr++]);
Nie używa się $. Operator adresu to &.
Pozdrawiam

ODPOWIEDZ