Problémy pri použití kompilátora C18

L

leomecma

Guest
Nazdar,

Bola som na nejaké problémy na qualifier užívania ROM, potrebujú vyhlasujem struct, a to struct by mala byť flash bydlisko.Snažím sa niečo takéto:Tejto formy práce, ale to je bývať v pamäti RAM:

typedef struct (
cod_prod byte;
ano_fabr byte;
sem_fabr byte;
seq_num_h byte;
seq_num_l byte;
TEMP_SERIAL);

TEMP_SERIAL serial_number;

void TempWriteSerial (void)
(
serial_number.cod_prod = dataPacket._byte [1];
serial_number.ano_fabr = dataPacket._byte [2];
serial_number.sem_fabr = dataPacket._byte [3];
serial_number.seq_num_h = dataPacket._byte [4];
serial_number.seq_num_l = dataPacket._byte [5];
)

/ / End RAM

Skúste dať dáta v ROM

struct (TEMP_SERIAL
cod_prod byte;
ano_fabr byte;
sem_fabr byte;
seq_num_h byte;
seq_num_l byte;
);

/ / Vyhlásiť prvky typu struct

rom struct TEMP_SERIAL serial_number;rom struct TEMP_SERIAL *serial_number; Základné diffence z nich sú členmi acess formulár "."ou "->" Snažím formulára nižšie taky, ale nemá 'práce, a niekto dať chyby alebo varovania

rom struct TEMP_SERIAL rom serial_number;
rom struct TEMP_SERIAL rom * serial_number;

Prostě potřebuju získal rad dát z USB (dataPacket) a uložte ho na môj struct, ale chcem, aby tieto dáta žije ROM, pretože musím zachrániť RAM a tieto dáta sú konfiguračné dáta, a zmeny na diaľku.Prečítajte si tento konfiguračné dáta z ROM bude niekedy robiť.Čo je správne forme, aby to urobil?

leomecma
leomecma

 
Nie som si úplne jasné, o čo sa snažíme robiť, ale ak chápem správne chcete uložiť dáta v konfiguračnom struct?.

Najlepší spôsob, ako to dosiahnuť, je ušetriť štruktúry v EEPROM ako pole bajtov.

Keď sa dostanete niekoľko bytov uložiť do pamäte struct a zapísať ju do pamäti EEPROM ako postupnosť bytov, potom pri štarte prečítať eeprom štruktúry späť do ram.

 
Nemám pamäť EEPROM na tomto zariadení.V Microchip forum osoba asnwer mi, že nie je možné robiť chcem.Bol som vytvoril napísať flash rutinné na to.Pre čítaní som vyhlásil ukazovateľ na rom.

leomecma

 
Len udržať pevnú údaje uvedené údaje v rom

vyhlásiť za # define s

potom vybudovať struct za behu

V tej dobe sa táto informácia môže byť zmenená za predpokladu,
prejdete dátové premenné

meniace sa v rom je ťažké
to urobiť
áno, musíte napísať flash rutinné

1) nie je na prepísanie vášho programu
2) aktualizovať len pár byte v rom

jeho vec modifié zavádzač rutinnej alebo podobné získať dáta fromusb chcete zmeniť

to by sa malo uskutočniť reseting MCU pre režim blesku zmeniť údaje a znovuzrodenia onopic Môžete reštartovať počítač sám pomocou príkazov
alebo môžete prepínať resetovať pin z I / O pridania čiapky 1uF dostať nejaký čas

mimo to možno i2c eeprom alebo tri drôty alebo niečo, čo je potrebné doplniť

já urobil rutiny bezpečnostné kontroly, ktoré kontrolujú všetky kolíky mikro pre správnu úroveň
potom naštartoval to za predpokladu, že bola riadne init

ak ste manipulovalo s čipom
příště to, že by zavedenie vymazať svoje vlastné, ale práve opustil štartovací blok

 

Welcome to EDABoard.com

Sponsor

Back
Top