-
Data: 2020-08-25 18:00:46
Temat: Re: 74HCT245 jako port wejściowy - nie działa, choć powinien
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Ok, wygląda to tak, jakby faktycznie winę za niestabilne działanie
układu ponosiło przepełnienie stosu. Zamiast wywoływać funkcję
key_update() z pętli głównej, umieściłem tam odpowiadający jej fragment
kodu (cc65 na chwilę obecną jest dość ubogim kompilatorem, wśród jego
ograniczeń znajduje się m.in. brak funkcji inline). Wszystko zaczęło
działać.
Trochę mnie to dziwi, bo:
- Nie mam w tym kodzie głęboko zagnieżdżonych funkcji. Funkcje
key_update() była wywoływana bezpośrednio z pętli głównej, ona sama
wywołuje tylko funkcję millis() - wzorowaną na Arduino funkcję
zwracającą ilość taktów systemowych generowanych w przerwaniu (ze
względu na niskie taktowanie są one zwiększane co 20 ms, a nie 1 ms).
- Sprzętowy stos 6502 jest co prawda niewielki, ale cc65 generuje
własny, programowy stos.
- Pamięci jest sporo jak na taki układ (8kB) i jak na razie zbyt mocno
jej nie wykorzystuję. Najwięcej zużywają chyba bufory dla UART-a (2x 256
bajtów). Jest też kilka pomniejszych buforów i trochę zmiennych. Aż
sprawdziłem, czy przypadkiem łańcuch tekstowe podawane jako argumenty
funkcji nie trafiają przypadkiem do RAM-u, ale w generowanym przez
kompilator kodzie asemblerowym są oznaczone jako .rodata.
Gdyby kogoś szczególnie interesowała ta zagadka, to wrzuciłem kody
źródłowe na githuba,
To jest ten problematyczny:
https://github.com/marekw1986/RetroEG
A tutaj działający:
https://github.com/marekw1986/TalkingClock
(Definicja key_update w io.c)
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
Najnowsze wątki
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=