Witam,
Zapisz_buffor to funkcja z ksiazki tmf. Zapisuje ona cyklicznie do buffora skladajcego sie z 1000 komorek eepromu kolejne wartosci licznika. Program mam napisany w nastepujacym stylu:
W jakim czasie mikroprocesor wykonuje ten kod? Obecnie uzywam atmegi8 i kwarcu 4Mhz. Jezeli zmienie kwarc na 16Mhz to kod bedzie sie tak samo szybko wykonywal czy teoretycznie 4x szybciej? Rozumiem, ze czas zapisu/odczytu do EEPROMu w tym wypadku jest kluczowy. Czy mikroprocesor podczas zapisu do eepromu wykonuje inne funkcje z kodu czy jest bezczynny jak np podczas wykonywania blokujacej funkcji _delayms_ ?
Czy predkosc zapisu do EEPROM zalezy od zastosowanego kwarcu czy raczej od technologii wykonywania EEPROMu w AVR? Rozumiem, ze zapis(z kasowaniem) EEPROMu trwa ~5ms, a sam odczyt 3,2ms. Czy w takim wypadku czas wykonywania kodu w najgorszym wypadku wynosi 1000*3,2ms?
Czy zamiania kolejnosci wykonywania funkcji przyspieszy o ~5ms zmiane stanu pinu PB0?
Jezeli "zapisz_buffor" jest przed "zmieniam_PB0" to najpierw nastapi zapis do eeprom (~5ms), a dopiero potem nastapi zmiana stanu pinu PB0? Tzn. PB0 bedzie mialo opoznienie = czasowi zapisu do EEPROM?
Zapisz_buffor to funkcja z ksiazki tmf. Zapisuje ona cyklicznie do buffora skladajcego sie z 1000 komorek eepromu kolejne wartosci licznika. Program mam napisany w nastepujacym stylu:
Kod: C / C++
W jakim czasie mikroprocesor wykonuje ten kod? Obecnie uzywam atmegi8 i kwarcu 4Mhz. Jezeli zmienie kwarc na 16Mhz to kod bedzie sie tak samo szybko wykonywal czy teoretycznie 4x szybciej? Rozumiem, ze czas zapisu/odczytu do EEPROMu w tym wypadku jest kluczowy. Czy mikroprocesor podczas zapisu do eepromu wykonuje inne funkcje z kodu czy jest bezczynny jak np podczas wykonywania blokujacej funkcji _delayms_ ?
Czy predkosc zapisu do EEPROM zalezy od zastosowanego kwarcu czy raczej od technologii wykonywania EEPROMu w AVR? Rozumiem, ze zapis(z kasowaniem) EEPROMu trwa ~5ms, a sam odczyt 3,2ms. Czy w takim wypadku czas wykonywania kodu w najgorszym wypadku wynosi 1000*3,2ms?
Czy zamiania kolejnosci wykonywania funkcji przyspieszy o ~5ms zmiane stanu pinu PB0?
Kod: C / C++
Jezeli "zapisz_buffor" jest przed "zmieniam_PB0" to najpierw nastapi zapis do eeprom (~5ms), a dopiero potem nastapi zmiana stanu pinu PB0? Tzn. PB0 bedzie mialo opoznienie = czasowi zapisu do EEPROM?