logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Attiny2313][C] zapis danych w flash

micha_ 01 Lis 2008 22:09 1777 4
REKLAMA
  • #1 5691599
    micha_
    Poziom 11  
    halo
    na roznych stonach znalazlem informacje o tym ze mozna w czasie dzialajacego programu pisac w pamieci flash
    nie ma problemu przed wystartowaniem fukcji main, nie ma problemu czytac flash ale nie moge pisac
    do initialisacji uzywam : uint8_8 pgm_data[xxx] PROGMEM ={};
    do czytania : bit_sys = &pgm_data[xxx];
    a jak zapis???
  • REKLAMA
  • #2 5691658
    Dr.Vee
    VIP Zasłużony dla elektroda
    Inicjalizację masz OK, ale resztę do bani.

    O czytaniu zmiennych z pamięci programu poczytaj w dokumentacji avr-libc. W skrócie:
    
    /* deklaracja */
    uint8_t pgm_data[10] PROGMEM = {1,2,3,4,5,6,7,8,9,10};
    /* odczyt */
    uint8_t bajt = pgm_read_byte(&pgm_data[5]);
    /* zapis */
    /* poczytaj w datasheecie procesora */


    Poza tym pamięć flash nie za bardzo nadaje się do częstego zapisu (tylko 1000 cykli gwarantowanych), do tego trzeba ją kasować/zapisywać całymi stronami. Prawdopodobnie wykorzystanie pamięci EEPROM będzie tutaj lepsze.

    Pozdrawiam,
    Dr.Vee
  • REKLAMA
  • #3 5691808
    micha_
    Poziom 11  
    zapis potrzebny jest w flash poniewaz eeprom jest za maly zeby przejac tyle danych.arrays ma byc dopasowane po zaprogramowaniu uc przez terminala i nawet jezeli wytrzymuje tylko iles set czy tysiecy razy to nie problem ,poniewaz chcialbym sprobowac zapisac kazda cele osobno
  • REKLAMA
  • #4 5691906
    kedzi1
    Poziom 18  
    Zamiast kombinować zastosuj DataFlash z interfejsem SPI. Pojemności od 1 do 32 Mbit (do 4MB). Ich ceny na dzień dzisiejszy są śmiesznie niskie.
  • #5 5692007
    micha_
    Poziom 11  
    nie chodzi tutaj o kombinowanie czy tez cene .soft jest gotowy ,pare minut konfiguracji i dzala wrzysko tak jak ma.oczywiscie nie ma problemu uc wyciagnac i programowac go extra no ale dlaczego sie meczyc jak tak bylo by prosciej
REKLAMA