Hallo... Habe einen ATMEGA 1287 USB und die neuste Version von AVR Studio sowie einen JTAG mkii Debugger/Flasher... ...ich versuche verzweifelt das E² des Atmel zu beschreiben...es funktioniert einfach nicht...das kann doch nicht so schwer sein... Bitte um Hilfe...Vielen Dank Meine Routinen sind folgendermaßen: /*********************************************************************** ******** * Function Name : EEPROM_write * Description : Schreibt ins EEPROM des Atmels * Input : None * Return : None ************************************************************************ *******/ void EEPROM_write(unsigned int uiAddress, unsigned char ucData) { /* Wait for completion of previous write */ while(EECR & (1<<EEPE)); /* Set up address and Data Registers */ EEAR = uiAddress; EEDR = ucData; /* Write logical one to EEMPE */ EECR |= (1<<EEMPE); /* Start eeprom write by setting EEPE */ EECR |= (1<<EEPE); } /*********************************************************************** ******** * Function Name : EEPROM_read * Description : Liest aus dem EEPROM des Atmels * Input : None * Return : Data ************************************************************************ *******/ unsigned char EEPROM_read(unsigned int uiAddress) { /* Wait for completion of previous write */ while(EECR & (1<<EEPE)); /* Set up address register */ EEAR = uiAddress; /* Start eeprom read by writing EERE */ EECR |= (1<<EERE); /* Return data from Data Register */ return EEDR; }
> /* Write logical one to EEMPE */ > EECR |= (1<<EEMPE); > /* Start eeprom write by setting EEPE */ > EECR |= (1<<EEPE); U.U. vergeht zwischen dem ersten und dem zweiten Zugriff zuviel Zeit (max. vier Taktzyklen sind erlaubt). Eine Möglichkeit: Statt |= = und die Interrupts vorher sperren oder gleich die entsprechenden Routinen der avr-libc benutzen.
interrupts sind gesperrt... das mit dem |= werde ich mal probieren, aber das kann ich mir nicht vorstellen... Was bedeutet die Funktionen der avr-lib ??? Danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.