Fylla 877A interna EEPROM direkt? MPLAB + PICC Lite
Fylla 877A interna EEPROM direkt? MPLAB + PICC Lite
Finns det något sätt att fyll det interna EEPROM direkt när man programmerar uCn? jag har ca 200byte som behöver åka direkt in i EEPROMET. Jag använder MPLAB (& PICC Lite) för att skapa HEX filerna och ett annat program för att programmera uCn.
Så som jag får göra nu är att använda funktioner för att skriva till eppromet och är det väl är fyllt "låser" jag eepromet så att det inte raderas nästa gång jag programmera. Sedan skriver jag den kod som egentligen skall vara i programmet.
Så som jag får göra nu är att använda funktioner för att skriva till eppromet och är det väl är fyllt "låser" jag eepromet så att det inte raderas nästa gång jag programmera. Sedan skriver jag den kod som egentligen skall vara i programmet.
Jag använder mig av detta för att fylla EEPROMET.
Men nu får jag ett fel meddelande. Använder jag denna kod fyra gånger eftervarandra så funkar det att bygga hex filne men tar jag fler så får jag detta felmeddelande:
Någon som vet varför jag får det? Här är alla rader som finns i mitt program just nu:
Kod: Markera allt
// Loading the character codes into internal EEPROM
__EEPROM_DATA( 0x41, 0x2E, 0x36, 0x3A, 0x41, 0x3B, 0x3D, 0x00 );
Kod: Markera allt
Error[000] W:\PIC Projekts\1. Eget bibliotek!\PIS\PIS.c 39 : end of file within macro argument from line 14
Warning[000] W:\PIC Projekts\1. Eget bibliotek!\PIS\PIS.c 39 : Wrong number of macro arguments for "__EEPROM_DATA" - 0 instead of 8
Warning[000] __EEPROM_DATA 39 : Wrong number of macro arguments for "___mkstr" - 0 instead of 1
Warning[000] __EEPROM_DATA 39 : Wrong number of macro arguments for "___mkstr1" - 0 instead of 1
Kod: Markera allt
#include "pic.h"
__EEPROM_DATA( 0x41, 0x2E, 0x36, 0x3A, 0x41, 0x3B, 0x3D, 0x00 );
__EEPROM_DATA( 0x3F, 0x3F, 0x3D, 0x1E, 0x2E, 0x36, 0x3A, 0x5D );
__EEPROM_DATA( 0x3E, 0x36, 0x36, 0x49, 0x70, 0x77, 0x77, 0x77 );
__EEPROM_DATA( 0x00, 0x38, 0x36, 0x36, 0x36, 0x4E, 0x41, 0x36 );
__EEPROM_DATA( 0x36, 0x36, 0x4F, 0x7E, 0x7E, 0x0E, 0x72, 0x7C };
__EEPROM_DATA( 0x49, 0x36, 0x36, 0x36, 0x49, 0x79, 0x36, 0x36 );
__EEPROM_DATA( 0x36, 0x41, 0x01, 0x76, 0x76, 0x76, 0x01, 0x00 );
__EEPROM_DATA( 0x36, 0x36, 0x36, 0x49, 0x41, 0x3E, 0x3E, 0x3E );
__EEPROM_DATA( 0x5D, 0x00, 0x3E, 0x3E, 0x3E, 0x41, 0x00, 0x36 );
__EEPROM_DATA( 0x36, 0x3E, 0x3E, 0x00, 0x36, 0x76, 0x7E, 0x7E );
__EEPROM_DATA( 0x42, 0x3E, 0x36, 0x36, 0x45, 0x00, 0x77, 0x77 );
__EEPROM_DATA( 0x77, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x5F );
__EEPROM_DATA( 0x7F, 0x3F, 0x3F, 0x40, 0x00, 0x77, 0x6B, 0x5D );
__EEPROM_DATA( 0x3E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x79 );
__EEPROM_DATA( 0x73, 0x79, 0x00, 0x00, 0x79, 0x77, 0x4F, 0x00 );
__EEPROM_DATA( 0x41, 0x3E, 0x3E, 0x3E, 0x41, 0x00, 0x76, 0x76 );
__EEPROM_DATA( 0x76, 0x7E, 0x43, 0x3D, 0x2D, 0x43, 0x3F, 0x00 );
__EEPROM_DATA( 0x76, 0x66, 0x56, 0x69, 0x59, 0x36, 0x36, 0x36 );
__EEPROM_DATA( 0x4D, 0x7E, 0x7E, 0x00, 0x7E, 0x7E, 0x40, 0x3F );
__EEPROM_DATA( 0x3F, 0x3F, 0x40, 0x78, 0x67, 0x1F, 0x67, 0x78 );
__EEPROM_DATA( 0x00, 0x4F, 0x67, 0x4F, 0x00, 0x1C, 0x6B, 0x77 );
__EEPROM_DATA( 0x6B, 0x1C, 0x7C, 0x73, 0x07, 0x73, 0x7C, 0x1E );
__EEPROM_DATA( 0x2E, 0x36, 0x3A, 0x3C, 0x7F, 0x7F, 0x7F, 0x7F );
void main(){
while(1);
}