Jak poradzić sobie z błędem 'statement with no effect'

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
slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Jak poradzić sobie z błędem 'statement with no effect'

Post autor: slawek55 » 27 sty 2008, 8:40

Możecie mi pomóc.
Piszę program w AVR-GCC prostego drogomierza z wyświetlaczem LED.
W petli głównej mam taki kod:

Kod: Zaznacz cały

while(1)
	{
	Keys();
	if(g_Sekunda==1)
	{ g_Sekunda=0;
	if(PINB&1<<STACYJKA) g_Screen=1; //wygas wyswietlacz
	switch(g_Screen)
	{
	case 0:
                g_DaneLEFT[0]= (uint8_t)~(1<<LED_G);
	g_DaneLEFT[1]= (uint8_t)~(1<<LED_G);
	g_DaneLEFT[2]= (uint8_t)~(1<<LED_G);
	g_DaneLEFT[3]= (uint8_t)~(1<<LED_G);
	ConvertDec(g_WspDrogi,g_DaneRIGHT);
if(g_Klawisz==2)
    {g_WspDrogi==0; 	
      g_DaneRIGHT[0]= (uint8_t)~(1<<LED_G);
      g_DaneRIGHT[1]= (uint8_t)~(1<<LED_G);
      g_DaneRIGHT[2]= (uint8_t)~(1<<LED_G);
      g_DaneRIGHT[3]= (uint8_t)~(1<<LED_G);
      Wait(2000);
      g_Klawisz=0;
}  ...
Zmienna g_Klawisz jest zwracana w funkcji Keys(); i jest jako globalna.

Kompilator wyświetla mi błąd
../main.c:223: warning: statement with no effect
wskazując na if(g_Klawisz==2)

Jak sobie z tym mogę poradzić.
Założenie było takie że na lewej częci wyświetlacza tzn na 4 polach pojawiają się kreski a na prawej częci współczynnik, po nacisnięciu przycisku wyswietlają się kreski na prawej stronie. Po następnym przebiegu pętli wyświetli się już współczynnik i kreski z lewej strony znikną.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 27 sty 2008, 10:08

Zamiast

Kod: Zaznacz cały

g_WspDrogi==0;
powinno być

Kod: Zaznacz cały

g_WspDrogi=0;

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 27 sty 2008, 10:13

Dziękuję. Rzeczywiście. A ja myślałem że kompilatorowi chodzi o ten warunek i w nim szukałem błędów, a tego nie zauważyłem.

ODPOWIEDZ