Dennis, I don't believe you read what I wrote. In my quotes from the "manual", it very clearly states exactly what you are finding on those three registers. Please re-read very carefully my two quotes from pages 24 and 237. The manual is very clear and correct on this, although admittedly, one would need to check on the addresses of each register to ascertain if those special bit instructions could be used. I can see why you may have assumed that all three could use the SBI, CBI, SBIS, and SBIC instructions...and I would have probably fallen in the same trap. It would have been better for the datasheet to say it differently, but as it stands, the datasheet is correct as far as I can see. I do agree with you that many datasheets contain errors (just like the code we write ;-) as they are most often written by people who do not have complete knowledge of the chip. The problem is not just with Atmel, but with all. In a former life, I worked for Motorola Semiconductor back in the days of the 6800 and later; when I went to use a MC68331 in an application, I got burned more than once with datasheet errors. The same is true when I used the PIC some years later. Too bad the manufacturers don't use the same system some college profs have used to get their students to proofread their textbooks they've written ... offer some reward for the first person to find a particular error. Sounds like you're making progress at least... Regards, Don Dennis wrote: > You have to "build" the code. I use the SDK500 and Studio4.x. The build will > generate the object code. If an error occurs, it will flag it. > Try using the GPIOR0, 1, 2 registers with the instructions given in the > manual. Only GRIOR0 will work. > D > ----- Original Message ----- > From: "Don Jackson" <ae5k.radio@gmail.com> > To: <AVR-Chat@yahoogroups.com> > Sent: Wednesday, August 31, 2005 10:46 PM > Subject: Re: Re: Re: [AVR-Chat] Errors in manuals ... > > > >>Hi Dennis, >> >>Thanks for the reply to my query. >> >>I do not wish to revisit the debate on the RET and RETI stuff, and also >>do not wish to provoke a lot of debate on the GPIORx either, but in my >>copy of the Atmel Data Sheet (just updated my copy tonight), 2545F dated >>06/05 (and it said the same thing in my older year old version): >> >>page 24: General Purpose I/O Registers within the address range 0x00 - >>0x1F are directly bit-accessible using the SBI, CBI, SBIS, and SBIC >>instructions. >> >>page 337: shows GPIOR0 at 0x1E (which implies it IS bit-accessible using >>SBI, etc.) and it shows GPIOR1 at 0x2A and GPIOR2 at 0x2B (which implies >>is IS NOT bit-accessible using SBI, etc.). I believe this is what you >>found, isn't it? >> >>Don >> >>PS - as a side note, it is interesting that at least my PDF reader >>program will not allow "copy & paste" of text in this datasheet ;-) >> >>Dennis wrote: >> >>>The GPIOR0, 1 & 2 do not all respond to the instructions specified. Only >>>GPIOr0 does. I use the LDS and STS with all 3. >>>If you look at the RET and RETI instructions, the stack operations are >>>the >>>same, according to the manual. However, the RET does return to the >>>instruction following the CALL whereas the RETI returns to the >>>instruction >>>at point of interrupt. In the case of the RETI, after much debate and >>>RTFM >>>bull, you have to use a polled type of interrupt. >>>D >>>----- Original Message ----- >>>From: "Don Jackson" <ae5k.radio@gmail.com> >>>To: <AVR-Chat@yahoogroups.com> >>>Sent: Wednesday, August 31, 2005 8:51 PM >>>Subject: Re: Re: [AVR-Chat] Errors in manuals ... >>> >>> >>> >>> >>>>Dennis wrote: >>>> >>>> >>>> >>>>>>>Data sheet definitions are sometimes wrong as are manuals. I found >>>>>>>that >>>>>>>out >>>>>>>the hard way with the mega168. >>>>>>>.... >>>> >>>>Would you be so kind as to let us know what is wrong in the mega168 data >>>>sheet? I'm about to use this one... >>>> >>>>Thanks, >>>>Don
Message
Re: Re: Re: Re: [AVR-Chat] Errors in manuals ...
2005-09-01 by Don Jackson
Attachments
- No local attachments were found for this message.