PIC 18F und EEprom 24lc256

Gast #1365695
Lesenswert?

Hi Leute Ich hänge fest und komm auf den kleinen Fehler nicht drauf:


Ich hab dieses Programm geschreiben bzw. wollte es mal ausprobieren:


#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"
//#include "icon_off.h"

#INT_SSP //I2C or SPI activity
#INT_BUSCOL //Bus Collision

#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(i=0; i<72; i++) write_ext_eeprom(i+384, Dog_row1[i]);  //offset 
= 384, byte 0-71
//  for(i=0; i<72; i++) write_ext_eeprom(i+456, Dog_row2[i]);
//  for(i=0; i<72; i++) write_ext_eeprom(i+528, Dog_row3[i]);
//  for(i=0; i<72; i++) write_ext_eeprom(i+600, Dog_row4[i]);
//  for(i=0; i<72; i++) write_ext_eeprom(i+672, Dog_row5[i]);
//  for(i=0; i<72; i++) write_ext_eeprom(i+744, Dog_row6[i]);
//  for(i=0; i<72; i++) write_ext_eeprom(i+816, Dog_row7[i]);
//  for(i=0; i<72; i++) write_ext_eeprom(i+888, Dog_row8[i]);

  for(;;){

  }
}

Mein Problem ist nun, dass am EEPROM nix drinnen steht!

Harwaremäßig hab ich ein 20MHz Quarz mit PLL (USB) das heißt ich hab 
einen internen Takt von 48Mhz.

Ich glaub es stimmt was nicht mit der Taktfrequenz aber ich komm nicht 
drauf!

Bitte hilfe

Ich verwende auch einen Bootloader vielleicht liegts auch an den 
Interrupts oder Config Bits!

Ich steh an bitte hilfe:

Angefügt hab ich noch 24256.c weil die ja wichtig ist für das EEPROM.

SDA und SCL hängen natürlich richtig am PIC und EEPROM!
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren