problēmas, izmantojot C18 kompilators

L

leomecma

Guest
Čau,

Es biju ar dažiem izmantošanas ROM Qualifier problēmas, man ir nepieciešams atzīt struct, un tas struct ir flash iedzīvotājam.Mēģinu kaut kas līdzīgs šim:Šī veida darbu, bet tas dzīvo RAM:

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

TEMP_SERIAL serial_number;

anulēts TempWriteSerial (spēkā neesošs)
(
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

Mēģiniet ieviest datu ROM

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

/ / Deklarēt elementi struct tips

rom struct TEMP_SERIAL serial_number;
rom struct TEMP_SERIAL * serial_number;

Pamata diffence pie viņiem loceklis acess formu "."ou "->" Es cenšos zem formas pārāk, bet doesn darbu, un ikvienam dot kļūdas vai brīdinājumus

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

Man tikai vajag saņēma masīvu datu USB (dataPacket), un saglabājiet to my struct, bet es gribu šo datu dzīvību uz ROM, jo man ir nepieciešams saglabāt RAM un šie dati ir konfigurācijas dati un izmaiņas attāluma.Read this konfigurācijas datus no ROM darīs dažreiz.Kāda ir pareizā formā to darīt?

leomecma
leomecma

 
Es neesmu īsti skaidrs par to, ko jūs mēģināt darīt, bet, ja es saprotu pareizi vēlaties saglabāt konfigurācijas datus struct?.

Labākais veids, kā to izdarīt, ir izņemot EEPROM struktūru kā masīva, bytes.

Kad jums masīvs baitu saglabājiet to RAM struct un tad uzrakstīt tā, lai EEPROM kā secība baitu, tad uz starta lasīt EEPROM struktūru atpakaļ ram.

 
Man nav EEPROM atmiņas par šo ierīci.In Microchip forum persona asnwer mani, tas nav iespējams es vēlos.Man tika izveidota rakstīt flash regulāri to darīt.For lasīt es tikai atzīt rādītāju rom.

leomecma

 
tikai glabāt fiksētajiem datu pakalpojumiem, kā noteikts datu rom

deklarē kā # define s

tad būvēt struct at run time

tad pat, kad šī informācija var tikt mainīta ar nosacījumu
jūs iet nosaka datu mainīgajiem lielumiem

mainot to rom ir grūti
lai to izdarītu
jā jums jāuzraksta flash rutīnas

1) nav pārrakstīt savu programmu
2) update tikai dažas baits's in rom

tā lieta modifiy boot loader ierastās vai līdzīgs, lai iegūtu datus fromusb vēlaties mainīt

tas jādara, reseting MCU mirgot režīmā mainīt datus un reboot itpic var reboot sevi ar komandu
vai varat pārslēgšanas atiestatīt pin no i / o pievienojot vāciņu 1UF iegūt kādu laiku

neatkarīgi no šīs varbūt I2C EEPROM vai trīs vadu vai kaut kas ir vajadzīgs, jāpievieno

Es drošības pārbaudes kārtība, ka skenēts visas adatas no mikroorganisma uz labo līmeni
tad booted to, ja tas bija init pareizi

Ja jūs labots ar mikroshēmu
Nākamreiz, kad booted tas būtu jāizdzēš tā sevi, bet tikai pa kreisi zābaku spodrinātājs

 

Welcome to EDABoard.com

Sponsor

Back
Top