From: Bernardo C. <bjc...@ya...> - 2005-05-23 19:51:06
|
doesen´t the optimizer jump out of that "delay" for just because the variable didn't get used so far? just an idea, check warnings during conpile, and the asm file, which have a lot of comments left by the compiler. Saludos BJ Bernardo Clavijo > sfr P0 = 0x80; > sfr P1 = 0x90; > > void main (void) > { > unsigned char x=0; > unsigned int y; > > while (1) > { > if (x==0) {x=255;} else {x=0;} > > P0 = x; > P1 = x; > > if (x==0) > for (y = 0; y < 20000; y++) > { ; } > else > for (y = 0; y < 60000; y++) > { ; } > } > } __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar |
From: J S <g1p...@ya...> - 2005-05-23 20:07:20
|
Hi Bernardo, Hmm, not sure about that. I checked the asm file and I see comments in there showing where the for loops are and such. Also, there isn't any warnings or errors during the compile for me to look further at. I also just noticed a new snapshot was released and decided to try it just in case. But unfortunately, it still won't work. Thanks, J Silverman --- Bernardo Clavijo <bjc...@ya...> wrote: > doesen´t the optimizer jump out of that "delay" for > just because the > variable didn't get used so far? > > just an idea, check warnings during conpile, and the > asm file, which > have a lot of comments left by the compiler. > > Saludos > > BJ > Bernardo Clavijo > > > sfr P0 = 0x80; > > sfr P1 = 0x90; > > > > void main (void) > > { > > unsigned char x=0; > > unsigned int y; > > > > while (1) > > { > > if (x==0) {x=255;} else {x=0;} > > > > P0 = x; > > P1 = x; > > > > if (x==0) > > for (y = 0; y < 20000; y++) > > { ; } > > else > > for (y = 0; y < 60000; y++) > > { ; } > > } > > } > > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y > antispam ¡gratis! > ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar > > > ------------------------------------------------------- > This SF.Net email is sponsored by Oracle Space > Sweepstakes > Want to be the first software developer in space? > Enter now for the Oracle Space Sweepstakes! > http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user > __________________________________ Discover Yahoo! Find restaurants, movies, travel and more fun for the weekend. Check it out! http://discover.yahoo.com/weekend.html |
From: Rod B. <ro...@bo...> - 2005-05-23 21:01:23
|
This is just a wild guess but I got the impression that even the previous working program did not work as well. I'm guessing your problem is not with the compiler but with the environment. I would suggest that before reprogramming the part you erase the flash first I don't want to teach granny to suck eggs but you do need to erase the flash before re-programming. Regards, Rod Boyce J S wrote: >Hi Bernardo, > >Hmm, not sure about that. I checked the asm file and >I see comments in there showing where the for loops >are and such. Also, there isn't any warnings or >errors during the compile for me to look further at. > >I also just noticed a new snapshot was released and >decided to try it just in case. But unfortunately, it >still won't work. > >Thanks, >J Silverman > >--- Bernardo Clavijo <bjc...@ya...> wrote: > > >>doesen´t the optimizer jump out of that "delay" for >>just because the >>variable didn't get used so far? >> >>just an idea, check warnings during conpile, and the >>asm file, which >>have a lot of comments left by the compiler. >> >>Saludos >> >> BJ >>Bernardo Clavijo >> >> >> >>>sfr P0 = 0x80; >>>sfr P1 = 0x90; >>> >>>void main (void) >>>{ >>> unsigned char x=0; >>> unsigned int y; >>> >>> while (1) >>> { >>> if (x==0) {x=255;} else {x=0;} >>> >>> P0 = x; >>> P1 = x; >>> >>> if (x==0) >>> for (y = 0; y < 20000; y++) >>> { ; } >>> else >>> for (y = 0; y < 60000; y++) >>> { ; } >>> } >>>} >>> >>> >>__________________________________________________ >>Correo Yahoo! >>Espacio para todos tus mensajes, antivirus y >>antispam ¡gratis! >>¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar >> >> >> >> >> >------------------------------------------------------- > > >>This SF.Net email is sponsored by Oracle Space >>Sweepstakes >>Want to be the first software developer in space? >>Enter now for the Oracle Space Sweepstakes! >> >> >> >http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click > > >>_______________________________________________ >>Sdcc-user mailing list >>Sdc...@li... >> >> >> >https://lists.sourceforge.net/lists/listinfo/sdcc-user > > > > > >__________________________________ >Discover Yahoo! >Find restaurants, movies, travel and more fun for the weekend. Check it out! >http://discover.yahoo.com/weekend.html > > > >------------------------------------------------------- >This SF.Net email is sponsored by Oracle Space Sweepstakes >Want to be the first software developer in space? >Enter now for the Oracle Space Sweepstakes! >http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click >_______________________________________________ >Sdcc-user mailing list >Sdc...@li... >https://lists.sourceforge.net/lists/listinfo/sdcc-user > > |
From: J S <g1p...@ya...> - 2005-05-23 21:16:47
|
Hi Rod, I made sure this time I explicitly erased the flash (I think the programmer software does it automatically), but it didn't help. The LED still remains off, at all times. Thanks, J Silverman --- Rod Boyce <ro...@bo...> wrote: > This is just a wild guess but I got the impression > that even the > previous working program did not work as well. I'm > guessing your > problem is not with the compiler but with the > environment. I would > suggest that before reprogramming the part you erase > the flash first I > don't want to teach granny to suck eggs but you do > need to erase the > flash before re-programming. > > Regards, > Rod Boyce > > J S wrote: > __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new Resources site http://smallbusiness.yahoo.com/resources/ |
From: Peter <pl...@ac...> - 2005-05-23 22:00:16
|
You have to include the cpu file for your cpu. Peter |
From: J S <g1p...@ya...> - 2005-05-23 22:50:02
|
Hi Peter, Ahh, thanks, didn't know I needed that :-) I included the at89x051.h header file, which I presume is the one I need, correct? Thanks, J Silverman --- Peter <pl...@ac...> wrote: > > You have to include the cpu file for your cpu. > > Peter > > > > ------------------------------------------------------- > This SF.Net email is sponsored by Oracle Space > Sweepstakes > Want to be the first software developer in space? > Enter now for the Oracle Space Sweepstakes! > http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Peter <pl...@ac...> - 2005-05-24 06:53:47
|
On Mon, 23 May 2005, J S wrote: > Hi Peter, > > Ahh, thanks, didn't know I needed that :-) I included > the at89x051.h header file, which I presume is the one > I need, correct? Yes. It contains the correct sfr definitions and more. Peter |
From: Jean-Paul <tch...@fr...> - 2005-05-24 05:31:32
|
Hi Bernardo To be sure of the working, you may want to replace >> if (x=3D=3D0) {x=3D255;} else {x=3D0;} >> >> P0 =3D x; >> P1 =3D x; >> with the classical: P0^=3D0xFF; P1^=3D0XFF; Jean-Paul On Mon, 23 May 2005 16:50:55 -0300 (ART), Bernardo Clavijo =20 <bjc...@ya...> wrote: > doesen=C2=B4t the optimizer jump out of that "delay" for just because t= he > variable didn't get used so far? > > just an idea, check warnings during conpile, and the asm file, which > have a lot of comments left by the compiler. > > Saludos > > BJ > Bernardo Clavijo > >> sfr P0 =3D 0x80; >> sfr P1 =3D 0x90; >> >> void main (void) >> { >> unsigned char x=3D0; >> unsigned int y; >> >> while (1) >> { >> if (x=3D=3D0) {x=3D255;} else {x=3D0;} >> >> P0 =3D x; >> P1 =3D x; >> >> if (x=3D=3D0) >> for (y =3D 0; y < 20000; y++) >> { ; } >> else >> for (y =3D 0; y < 60000; y++) >> { ; } >> } >> } > > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam =C2=A1gratis! > =C2=A1Abr=C3=AD tu cuenta ya! - http://correo.yahoo.com.ar > > > ------------------------------------------------------- > This SF.Net email is sponsored by Oracle Space Sweepstakes > Want to be the first software developer in space? > Enter now for the Oracle Space Sweepstakes! > http://ads.osdn.com/?ad_id=3D7412&alloc_id=3D16344&op=3Dclick > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user > --=20 NEVER jump into a LOOP! |
From: Peter <pl...@ac...> - 2005-05-24 06:59:33
|
On Tue, 24 May 2005, Jean-Paul wrote: > with the classical: > P0^=0xFF; > P1^=0XFF; No, actually you don't want that, because if he has weak pullups your code will fail. Peter |
From: Royce & S. P. <be...@et...> - 2005-05-24 07:17:32
|
Hi, On Tue, 24 May 2005 12:29:35 +0530, Peter <pl...@ac...> wrote: > >> with the classical: >> P0^=0xFF; >> P1^=0XFF; > > No, actually you don't want that, because if he has weak pullups your > code will fail. ------------- That depends..if he wants to toggle the outputs, it will work, as the latches will be read xrl _P0,#0xFF But if he wants to change the output based on the value at the pin, then it won't work for the above reason. You'll need to read the port into a variable & xor that and output it. like x= P1; P1= x ^ 0xff ; see the asm output- it's different, and so is the resulting operation on the hardware. --Royce. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ |
From: Peter <pl...@ac...> - 2005-05-24 08:31:20
|
On Tue, 24 May 2005, Royce & Sharal Pereira wrote: > On Tue, 24 May 2005 12:29:35 +0530, Peter <pl...@ac...> wrote: >> >>> with the classical: >>> P0^=0xFF; >>> P1^=0XFF; >> >> No, actually you don't want that, because if he has weak pullups your code >> will fail. > ------------- > That depends..if he wants to toggle the outputs, it will work, as the latches > will be read > > xrl _P0,#0xFF > > But if he wants to change the output based on the value at the pin, then it > won't work for the above reason. > You'll need to read the port into a variable & xor that and output it. like > > x= P1; > P1= x ^ 0xff ; > > see the asm output- it's different, and so is the resulting operation on the > hardware. You are right, I was thinking in a PIC context. Peter |