Ar galiu naudoti PIC, kaip programos atminties EEPROM?

B

BasePointer

Guest
Sveiki, Aš kuriant projektą, PIC18F452 PICC18 v8.35PL1. Turiu daug laisvos programos atminties, ir aš noriu naudoti, laikyti kai kurių kintamųjų reikšmes, kad aš naudoju. Įdomu, kad, jei tai įmanoma skaityti / rašyti programos atmintį PIC baitas pagal baitas? Kokie šio metodo, pavyzdžiui, prieš išorinio EEPROM 24C16 privalumai ir trūkumai? 10x
 
naudojant išorinį EEPROM yra akivaizdus trūkumas, kad jis dirbs kai valdikliu kaiščių. patikrinti, ar programa atminties pic yra ne lakios. ji
 
Hi BasePointer, tai nuo 8.30 vadove, aš tikiuosi, kad jis taip pat galioja 8.35PL1: 4.2.5 EEPROM ir Flash Trukmė Prieiga EEPROM ir atminties kintamuosius apibrėžti patogumo ir yra, kurie EEPROM arba flash atminties lustai. Anksto EEPROM ir flash "atminties makrokomandos gali būti naudojamos tokiu būdu. Norėdami parašyti baitų dydžio vertę, EEPROM atmintyje adresu: EEPROM_WRITE (adresas, vertė); Norėdami perskaityti duomenų iš EEPROM atminties adreso baitą, ir laikyti jį Rodiklis: kintamojo = EEPROM_READ (adresas); patogumui EEPROM_SIZE predefiniowana bendras dydis duomenų EEPROM on chip. Jei norite kopijuoti "flash" atminties srityje kodo duomenų bloką: flash_write source_pointer, ilgis, dest_pointer), skaityti duomenis iš "flash" atminties adreso baitą, ir išsaugoti "kintamasis: kintamasis = FLASH_READ (adresas); aš niekada naudojamas programos atminties saugojimo, kaip aš galėtų tilpti visus reikalingus duomenis į EEPROM pastatytas dabar. Didelis trūkumas gali būti, kad blykstė turi mažiau nei EEPROM rašymo ciklų. tikiuosi, kad tai padeda ir Nuoširdžiausi linkėjimai
 
[Quote = BasePointer] Sveiki, Aš kuriant projektą PIC18F452 su PICC18 v8.35PL1. Turiu daug laisvos programos atminties, ir aš noriu naudoti, laikyti kai kurių kintamųjų reikšmes, kad aš naudoju. Įdomu, kad, jei tai įmanoma skaityti / rašyti programos atmintį PIC baitas pagal baitas? Kokie šio metodo, pavyzdžiui, prieš išorinio EEPROM 24C16 privalumai ir trūkumai? 10x D [/quote] Aš visada preffer išorės EEPROM, ką aš manau, kad naudojamas vidinio eeprom prog Mem naudojamas kaip EEPROM gali sumažinti gyvenimo laiko valdiklius, galvoti apie tai aš esu teisinga ar neteisinga?
 
Taip pat svarbiausi skirtumai, atrodo kaip rašyti ciklą. 100.000 ištrinti / rašyti ciklas Glaudesnis FLASH programa atmintis tipiškas - 1,000,000 i ¹ trinti / rašyti ciklo duomenų EEPROMmemory
 
Kodėl gi ne naudoti vidaus EEPROM vietoj FLASH saugoti vertybes? Ar tai, nes ten nėra pakankamai vietos vidaus PIC EEPROM? Paprastai jūs galite parašyti 10x tiek kartų, vidaus EEPROM, kaip jūs galite į FLASH. Paprastai maždaug 100.000 kartus į EEPROM vs 10.000 kartų FLASH. Intenal EEPROM, mikrokontrolerių padarė excactly tikslui prašyti, kad kodėl gi ne naudoti ją? Ar dėl asis? PIC18F452 turi 256 baitų, vidaus EEPROM.
 
[Quote = ME] Kodėl negali naudoti vidaus EEPROM vietoj FLASH saugoti vertybes? Ar tai, nes ten nėra pakankamai vietos vidaus PIC EEPROM? Paprastai jūs galite parašyti 10x tiek kartų, vidaus EEPROM, kaip jūs galite į FLASH. Paprastai maždaug 100.000 kartus į EEPROM vs 10.000 kartų FLASH. Intenal EEPROM, mikrokontrolerių padarė excactly tikslui prašyti, kad kodėl gi ne naudoti ją? Ar dėl asis? PIC18F452 turi 256 baitų vidaus EEPROM [/quote] Taip, man reikia apie 2048 baitų. Vidaus PIC EEPROM nepakanka mano dabartinį projektą.
 
Nuo greitai ieškoti jos duomenų lape, tai galima skaityti baitas metu, bet ant programavimo, tik blokuoja 8 baitų tik įmanoma. Taigi, kaip jūs prašėte, aš ne manau, kad tai yra tinkamas jūsų tikslui, išskyrus atvejus, kai jūs padarote 8 baitų skaityti, ir tada vėl su jūsų pakeitimus baito arba baitai) rašyti blokas. Į sveikatą sda
 
[Quote = BasePointer] Taip, man reikia apie 2048 baitų. Vidaus PIC EEPROM nepakanka mano dabartinį projektą. [/Quote] Tada jūs taip pat galėtų apsvarstyti galimybę atnaujinti iš PIC18F452 Atmel ATmega64 ar ATmega128 AVR. ATmega64 2048 baitų vidinės EEPROM ir kaina yra maždaug tas pats, kaip ir už PIC18F452. Jei jums reikia dar EEPROM, galite naudoti ATmega128, tai yra 4096 baitų vidinės EEPROM. Atmel AVR atrankos lentelė: Microchip PIC neturi prietaisus su daugiau kaip 1024 baitų vidaus EEPROM.
 
[Quote = sda] Nuo greitai ieškoti jos duomenų lape, galima skaityti baitas metu, bet ant programavimo, tik blokuoja 8 baitų tik įmanoma. Taigi, kaip jūs prašėte, aš ne manau, kad tai yra tinkamas jūsų tikslui, išskyrus atvejus, kai jūs padarote 8 baitų skaityti, ir tada vėl su jūsų pakeitimus baito arba baitai) rašyti blokas. Į sveikatą sda [/quote] Aš ką tik patikrino flash programos atminties skyrių duomenų lape. Ir, deja, aš pamačiau, kad esate teisus. Minimalus programavimo blokas 4 žodžiai ar 8 baitai. Žodis ar baitas programavimas nepalaikoma: (
 
[Quote = BasePointer] [citata = sda] Iš greitai pažvelgti į savo duomenų lape, gali būti skaitomos baitas metu, bet ant programavimo, tik blokuoja 8 baitų tik įmanoma. Taigi, kaip jūs prašėte, aš ne manau, kad tai yra tinkamas jūsų tikslui, išskyrus atvejus, kai jūs padarote 8 baitų skaityti, ir tada vėl su jūsų pakeitimus baito arba baitai) rašyti blokas. Į sveikatą sda [/quote] Aš ką tik patikrino flash programos atminties skyrių duomenų lape. Ir, deja, aš pamačiau, kad esate teisus. Minimalus programavimo blokas 4 žodžiai ar 8 baitai. Žodis ar baitas programavimas nepalaikoma: ([/quote] Bet tai neturėtų būti reali problema, todėl jums nereikės rašyti savo rutinos, kuriame rašoma 8 baitus iš pradžių, tada atnaujinkite norimą baitas ir parašyti atgal 8 baitų blokas turėtų būti? lengva padaryti galima tiesiog naudoti bibliotekų kasdienybe savo funkciją, kad tiksliai pasakyti, kad ... nuoširdžiausi linkėjimai
 
[Quote = C-Vyras] Tačiau tai neturėtų būti reali problema, todėl jums nereikės rašyti savo rutinos, kuriame rašoma 8 baitų pradžių, tada atnaujinkite norimą baitas ir parašyti atgal 8 baitų blokas? [/Quote] Žinoma, galima. Thnk jums vaikinai už jūsų paramą.
 
Su 18F452 galite naudoti lentelėje skaityti / rašyti funkcijas parašyti "flash" atminties. Jūs tiesiog turite žinoti adresą, nes tu gali pakeisti savo programą. Ką galite padaryti, tai sudaryti savo programą, be duomenų blykste, tada pamatyti, kas yra paskutinis diskas adresas jūsų programa, naudojama ir tada pradėti pildyti savo blykste pradžios iš šio adreso.
 
Ką apie naudojant AVR, o ne idėja? Tai padėtų išspręsti jūsų problemą, nes ji turi daug daugiau EEPROM erdvę ir tai kainuos ne brangiau.
 

Welcome to EDABoard.com

Sponsor

Back
Top