Pristup E2prom na Atmel 89S8252 iz C jezika

B

bobcat1

Guest
Pristup E2prom na Atmel 89S8252 iz C jezika
Ovaj primjer napisan na k * eil C kompajlerps skidati samo jednu datoteku 2. je bio do loadded by Místek

uživatiBobi
Žao nam je, ali morate prijaviti da biste vidjeli ovu privitku

 
Ostale funkcije:

/************************************************* ***************************/
/ * EEpromWrite (adresa, vrijednost) * /
/************************************************* ***************************/
unsigned char EEpromWrite (unsigned int adresa, unsigned int vrijednost)
(
unsigned char zabludi, LSB, MSB;
unsigned int b_addr;

b_addr = adresa * 2;

err = false;

if (adresa> 0x03FF) err = TRUE; / * adresa izvan raspona * /
drugo
(
TR0 = 0; / * TR0: zaustavljanje Counter T0 * /
EA = 0; / * Onemogući sve Interrups * /

WMCON | = EEMEN; / * omogućiti pristupa EEPROM-u * /
WMCON | = EEMWE; / * omogućiti EEPROM pisati * /

LSB = vrijednost 256%; / * Izračunaj LSB byte * /
XBYTE [b_addr] = LSB; / * Napisati LSB byte * /
dok je (! (WMCON & WDTRST)); / * Pričekajte kraj pisati EEPROM * /

MSB = vrijednost / 256; / * Izračunaj MSB byte * /
XBYTE [b_addr 1] = MSB; / * Napisati MSB byte * /
dok je (! (WMCON & WDTRST)); / * Pričekajte kraj pisati EEPROM * /

if (LSB! XBYTE = [b_addr]) err = TRUE; / * Usporedi podataka * /
if (MSB! = XBYTE [b_addr 1]) err = TRUE; / * Usporedi podataka * /

WMCON ^ = EEMWE; / * onemogućiti EEPROM pisati * /
WMCON ^ = EEMEN; / * onemogućavanje pristupa EEPROM-u * /

END_SAMP = 0; / * Seted nakon Nsamples čitanje * /
sample_count = 0; / * Vedro uzoraka counter * /

EA = 1; / * Omogući sve Interrups * /
TR0 = 1; / * TR0: Trčanje Counter T0 * /
)

return (err);
)

/************************************************* ***************************/
/ * EEpromRead (adresa) - Čitati 2 bytes from Internaal EEPROM * /
/ * Ulaz: unsigned int adresu - adresu prvog bajta za čitanje * /
/ * Izlaz: unsigned int vrijednost - vrijednost = MSB LSB * 256 ; * /
/************************************************* ***************************/
unsigned int EEpromRead (unsigned int adresu)
(
unsigned int b_addr, vrijednost;

b_addr = adresa * 2;

EA = 0x00; / * Onemogući sve Interrups * /

WMCON | = EEMEN; / * omogućiti pristupa EEPROM-u * /

vrijednost = XBYTE [b_addr 1];
Vrijednost *= 256;
vrijednosti = XBYTE [b_addr];

WMCON ^ = EEMEN; / * onemogućavanje pristupa EEPROM-u * /

EA = 0x01; / * Omogući sve Interrups * /

return vrijednost;
)

 
Ove slike su korisne, hvala momci.

Eskimi, ja sam novi u C, ali should'nt EEpromWrite se unsigned int Ako pišete 16 bita?.

Također je to uvjet da se zaustavi counter 0.Što ako je RTOS koristeći ovaj?.

 

Welcome to EDABoard.com

Sponsor

Back
Top