Wiem że rzadko tu pisuję ale priorytety mi się przestawiły na doskonalenie mojego HOME-MADA wieczorami a nie na siedzenie w AVR-C. Mimo to będę czasami tu pisał i wsadzał przydatne dla początkujących kody. Tym razem coś dla ludzi którzy chcą powalczyć z zapisem i odczytem do pamięci Eprom, która jest na większości płyt ewaluacyjnych wmontowana. Jeśli ktoś ma płytkę bez pamięci może za kilka złotych kupić ośmionóżkowy scalaczek i dokleić go do swojej płytki. Załączam bibliotekę zawierającą jak zwykle pliknagłówkowy .h i źródło w .c . Potrzebna jest znajomość mechanizmu działania magistrali I2C, jeśli ktoś nie wie o czym mowa to niech poszuka w google "jak działa magistrala I2C"...
Zanim zaczniecie używać I2C należy zainicjalizować port TWI w Atmedze funkcją:
Przykład zapisu do pamięci (począwszy od adresu 0x0005) zmiennej freq (czyli 4 bajtów) - np. częstotliwości z naszej syntezy
Kod:
zap_pam(0x0005, freq);
Przykład przypisania zmiennej papparara wartości odczytanej z pamięci (4 bajty) począwszy od komórki o adresie 0x0005
Kod:
papparara=odcz_pam(0x0005);
Spróbujcie sami zrobić kod który będzie zapisywał i odczytywał do eprom. Najlepiej dorobić przycisk uruchamiający w naszej syntezie tryb Memory
guzikami góra dól (tam gdzie zmieniało się częstotliowość) wykonywać można by zapis i odczyt, a guzikami lewo prawo (tam gdzie zmieniało się krok) można by przeglądać komórki pamięci. Dziś już nie zrobię gotowca. Postaram się wyrobić z tym do końca tygodnia, dodam stosowny kod do naszej syntezy aby to było możliwe. Następnie zaprezentuję Wam obsługę enkodera. Powodzenia. Czekam jak zwykle na pytania od tych jednostek które się zmuszą do działania