Die Lese und schreib routine (CCS Compiler) funktioniert nicht richtig! Mein Problem ist, dass ich nicht auf das EE-Prom schreiben bzw lesen kann! Da ich einen Bootloader habe (USB) ist mein interner Takt 48Mhz. Es funktioniert sonst alles außer die Kommunikation mit EE-PROM. Vielleicht ist ein Fehler in der SChaltung oder config bits oder keine Ahnung ich komm nicht drauf deswegen auch mein Hilferuf! Das schreiben erfolgt so: #include <18F4550.h> #include "usb_bootloader.h" #Fuses NOPROTECT,NOBROWNOUT,NOPUT,NOPBADEN,HSPLL,PLL5,VREGEN,USBDIV,WRTB,NOLVP #use delay(clock=20000000) #include "icons.h" #define EEPROM_SDA PIN_B0 #define EEPROM_SCL PIN_B1 #include "24256.c" main() { unsigned int16 i = 0; init_ext_eeprom(); for(i=0; i<128; i++) write_ext_eeprom(i, cygwin_icon[i]); //byte 0-127 for(i=0; i<128; i++) write_ext_eeprom(i+128, flash_icon[i]); //byte 128-255 for(i=0; i<128; i++) write_ext_eeprom(i+256, outlook_icon[i]); //byte 256-383 for(;;){ } }
Der Möglichkeiten gibts viele. Von fehlerhaften Routinen (die man nicht sieht), Nichtbeachten der Schreibzeit (polling oder stures Warten) bis zur Taktüberforderung des Busses odes des IC. Ich tippe erstmal auf letzters. Schau dir die Signale mit dem Scope an, insbesondere die steigenden Flanken. Evtl. Busgeschwindigkeit verringern und/oder Pullups verkleinern.
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.