Co może być nie tak w moim kodzie C w CodeVisionAVR - nie działa na AVR?

CodeVisionAVR - co robię nie tak?





Poprzedni Następny
Wiadomość
Spis treści
From: "Pinarczuk" <pinarczuk_at_nospam_poczta.onet.pl>
Subject: CodeVisionAVR - co robię nie tak?
Date: 23 Sep 2004 18:50:56 +0200


Witam.

Czy może ktoś podpowiedzić mi co jest nie tak w moim krótkim kodzie w
CodeVisionAVR. Kod kompiluje się bezbłędnie, konfiguracja jest ok, dlaczego
jednak program nie działa. Czy ktoś może sprawdzić to u siebie na komputerze i
AVRe, bo wydaje mi się że tutaj źle kompiluje CodeVisionAVR.

...
char c;
char buffer[32];
char *s;
...
while (1)
{
//Odbiór stringa
s=buffer;
while(c=getchar()!=0 ){
*s=c;
s++;
}
*s=0;

//Wysłanie stringa
s=buffer;
while( *s != 0 ){
putchar(*s);
s++;
}
}
}


Z góry dzięki za odpowiedź bo męczę się chyba nad tym juz z tydzień.
Pozdrawiam.

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!uw.edu.pl!news.pw.edu.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: czerstwy <czebaka_at_nospam_o2.pl>
Subject: Re: CodeVisionAVR - co =?ISO-8859-2?Q?robi=EA_nie_tak=3F?=
Date: Fri, 24 Sep 2004 10:40:48 +0200


Pinarczuk napisał(a):
while(c=getchar()!=0 ){

powinno być:
while ( (c=getchar()) != 0 )
przy założeniu że chcesz zapisać pobrany znak do zmiennej c i porównać z
zerem, no i jesteś pewien, że ostatni znak będzie zerem

Pozdrawiam
czerstwy

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jan Dubiec <jdx_at_nospam_SPAMTRAP.slackware.pl>
Subject: Re: CodeVisionAVR - co =?iso-8859-2?Q?robi=EA?= nie tak?
Date: Fri, 24 Sep 2004 08:55:52 +0000 (UTC)


Pinarczuk wrote on 23 Sep 2004 18:50:56 +0200:
[.....]
AVRe, bo wydaje mi się że tutaj źle kompiluje CodeVisionAVR.
Kompilator to chyba kompiluje poprawnie, problem w tym że nie jest
zbyt dobry ponieważ nie wyrzuca ostrzeżenia na takie coś:
while(c=getchar()!=0 ){
Występuje tutaj niejednoznaczność i kompilator generuje kod taki jak to
przewidzieli jego twórcy aczkolwiek nie taki jakiego Ty byś oczekiwał. :-)
Jak mniemam ten wiersz powinien wyglądać tak:
while ((c = getchar()) != 0) {
a ze względu na brak nawiasów kompilator prawdopodobnie potraktował go tak:
while (c = (getchar() != 0)) {
Przyzwoity kompilator natychmiast wyrzuci ostrzeżenie w takim miejscu.

Z góry dzięki za odpowiedź bo męczę się chyba nad tym juz z tydzień.
Tydzień? Przez ten czas możnaby spokojnie przeczytać kilka pierwszych
rozdziałów jakiejś dobrej książki o C gdzie są opisane takie rzeczy. :-)

Regards,
/J.D.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Q" <oink_at_nospam_gazeta.gov.pl>
Subject: Re: CodeVisionAVR - co robię nie tak?
Date: Fri, 24 Sep 2004 16:54:29 +0200


Tydzień? Przez ten czas możnaby spokojnie przeczytać kilka pierwszych
rozdziałów jakiejś dobrej książki o C gdzie są opisane takie rzeczy. :-)

dokladnie;
polecam koledze nauke podstaw programowania w C;
/oczywiscie na 80486 'lub wyzsze' w np. bc
a nie na avr w cvavr...



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!hs001.slackware.pl!new

Poprzedni Następny
Wiadomość
Spis treści
From: Jan Dubiec <jdx_at_nospam_SPAMTRAP.slackware.pl>
Subject: Re: CodeVisionAVR - co =?iso-8859-2?q?robi=EA?= nie tak?
Date: 24 Sep 2004 18:32:50 +0200


On Fri, 24 Sep 2004 16:54:29 +0200, "Q" <oink_at_nospam_gazeta.gov.pl> wrote:
[.....]
polecam koledze nauke podstaw programowania w C;
/oczywiscie na 80486 'lub wyzsze' w np. bc
a nie na avr w cvavr...
C to jest C. Poprawnie napisany kod w ANSI C [*] da się skompilować
praktycznie każdym współczesnym kompilatorem i będzie on działał
poprawnie. Oczywiście chodzi o kod nie wykorzystujący jakichś cech
lub bibliotek systemowych specyficznych dla danej architektury.
Generalnie należy nauczyć się odróżniać język C od kompilatora tego
języka oraz od bibliotek systemowych. Aha, no i warto również nauczyć
się odróżniać kompilator i linker od IDE. :-)

[*] Oczywiście są inne (tzn. nowsze) standardy C, ale ANSI C jest obecnie
"najmniejszym wspólnym mianownikiem"

Regards,
/J.D.
--
Jan Dubiec, jdx#slackware.pl, mobile: +48 506 790442

Głęboka wiara wymaga płytkiego rozumu i nikłej wiedzy.

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Q" <oink_at_nospam_gazeta.gov.pl>
Subject: Re: CodeVisionAVR - co robię nie tak?
Date: Fri, 24 Sep 2004 16:57:05 +0200


AVRe, bo wydaje mi się że tutaj źle kompiluje CodeVisionAVR.

poza tym:
cvavr ma code wizarda, sporo przykladow jest na sieci, ...



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof Gawryś" <profrook_TO_USUN__at_nospam_o2.pl>
Subject: Re: CodeVisionAVR - co robię nie tak?
Date: Fri, 24 Sep 2004 12:17:12 +0200


while (1)
{
//Odbiór stringa
s=buffer;
while(c=getchar()!=0 ){
*s=c;
s++;
}
*s=0;


while(1)
{
s=buffer;
while(c=getchar())
*s++ = c;
*s = 0;
...


Krzysiek



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: CodeVisionAVR - co robię nie tak?
Date: Fri, 24 Sep 2004 18:48:52 +0200


On 23 Sep 2004 18:50:56 +0200, Pinarczuk wrote:
while (1)
{
//Odbiór stringa
s=buffer;
while(c=getchar()!=0 ){
*s=c;
s++;
}
*s=0;

Pomijajac co koledzy slusznie wytkneli, to jeszcze:
a) czy na pewno chcesz zeby program wczytywal dane az
do znaku 00h ? Trudno taki wyslac z peceta.

b) przyzwoitosc nakazuje sprawdzac czy bufor sie nie przepelnia ..

J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai