Forum: Mikrocontroller und Digitale Elektronik Problem Pull up Widerstände


von Gertschi (Gast)


Angehängte Dateien:

Lesenswert?

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(;;){

  }
}

von H.j.Seifert (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.