01-04-2015, 22:12
(01-04-2015, 17:47)SP2GNB napisał(a): 1. Czy /INT zegara PCF8563 zostawiamy w powietrzu?
2. Cały program sterownika napisany w asemblerze?
1/ Przerwanie od zegara PCF8563 nie jest wykorzystywane w tym sterowniku. Moduł zegara miał być uniwersalny, również do innych zastosowań dlatego warto mieć INT na złączu. Sterownik odczytuje zegar przy starcie a potem koryguje swoje liczniki raz na godzinę.
2/ Jako miłośnikowi asemblera trochę mi wstyd ale oprogramowanie sterownika powstało w języku C w komercyjnym środowisku CodeVision. Najbardziej wymagające fragmenty obsługi, gdzie zależało mi na maksymalnej szybkości zostały napisane w ASM-AVR (funkcje obsługi TFT, obsługa przerwań kanałów szeregowych). Musiałem również napisać w asemblerze arytmetykę 64-bitową do obliczeń nastaw Si570 ponieważ CodeVision jej nie ma a nie chciałem używać zmiennego przecinka.
Tak naprawdę jest to mój pierwszy program napisany w C po 35 latach programowania mikroprocesorów w asemblerze. Nie powiem narzędzie do grubych tematów bardzo fajne (ponad 30 tys. linii kodu) ale asemblera pod względem szybkości i zwięzłości kodu nie przebije.
Sorry, na starość człowiek robi się leniwy i zaczyna doceniać wygodę.
73 Adam

