|
From: | Michael |
Subject: | [avr-gcc-list] Reading eeprom without using routines in eeprom.h, causes reset. |
Date: | Wed, 3 Oct 2007 11:31:17 +1000 |
Hi, when I was new to the avr-gcc (and still fairly new to
C), I read the eeprom like this: unsigned char eeread(unsigned char address) { while(EECR & _BV(EEWE)); EEAR = address; EECR |= _BV(EERE); return EEDR; } Not the ideal way of doing it, but it worked fine. I moved
my code over from my debian system to winavr, which had a later version of the
compiler. The above code now causes the device to reset. I have
experienced this on an Atmega128, and an Atmega8. I can get things working again simply by using the eeprom.h
routines in avr-libc, but I believe the above code should still work! I currently have the latest version of winavr, I don’t
remember which compiler version I was running under debian. Can anybody shed any light on this? Why would the above code
cause a reset when it used to work? Regards, Michael. |
[Prev in Thread] | Current Thread | [Next in Thread] |