Oj, się rozpisałem, ale tego się nie da napisać krócej

Po kilkugodzinnej walce z zainstalowaniem wszystkiego (zawsze tak miałem, a akurat jestem świeżo po formacie) stwierdzam, że coś mi nie gra: nie mogę wgrać wsadu przez Eclipse. Pisze, że ten procesor nie jest obsługiwany przez AVRDude. W sumie z tego co widzę to żaden nie jest. Coś pewnie źle zrobiłem.
Ale spróbowałem wgrać przez mkAVRCalc. i... nie mogę znaleźć pliku .hex. Jest tylko zwykły plik. Ale zmieniłem mu nazwę na test.hex i już dało się wgrać.
Ale... dioda nie miga. Więc albo taka zmiana nazwy nic nie daje, albo procesor jest kaput.
Jeśli chodzi o kod:
Kod:
#include<avr/io.h>
#include<until/dealy.h>
int main (void)
{
DDRB |= (1<<PB0);
while(1)
{
PORTB ^= (1<<PB0);
_delay_ms(1000);
}
}
Najprostszy z możliwych.
Po wgraniu wsadu i wykonaniu odczytu z pamięci procesora pojawia mi się tylko:
Kod:
:00000001FF
To dobrze? Jeśli nie to prosiłbym o gotowy plik .hex z kodem powyżej.
A jeśli miałbym przejść dalej to...
Cytuj:
Następnie poszczególne nieużywane potencjometry wyłącz z kompilacji a sprawdzaj te/ten podłączony.
Nie bardzo rozumiem. Mam z kodu zakomentować odczyt wejść analogowych dla pozostałych osi? Tego raczej nie będę umiał zrobić, bo kod nie mój. A w Eclipse próbowałem go otworzyć i po tym co zobaczyłem sądzę, że to ani nie C ani nie C++. Nawet nie wiem w czym został napisany. A do "producenta" nie napiszę o pomoc, bo wątpię czy odpisze (najpierw trzeba by go znaleźć), bo ten projekt ma chyba ładnych 10 lat, jak nie więcej. Niewielu z niego jeszcze korzysta, ale do tej pory godnego zastępcy nie stworzono (8 osi analogowych, 96 przycisków na jednej platformie, drugiego takiego nie ma, albo ja nie znam).
Emocje rzeczywiście są. Ja tą płytkę mam już polutowaną od około roku i dopiero teraz się zabrałem za zabawę z osiami i przyciskami. Wszystko ładnie działało, już zacząłem projektować własny domowy kokpit samolotu (dlatego potrzebuję tyle przycisków, ale chyba i tak mi braknie, będę musiał drugi taki joystick zrobić), microswitchy jeszcze nie miałem, zabrałem się więc za osie.
Zrobiłem obudowę dla osi sterowania pracą silników, podłączam te za duże potencjometry i nagle wszystko przestaje działać.
Stwierdzam, że drobna przerwa nie zaszkodzi, w końcu przycisków jeszcze nie ma (a czekałem na nie od października), dzień później (wczoraj) w końcu 100 szt. przycisków przyszło, a mi joystick nie działa.
Cytuj:
...ale po dotknięciu się uziemiały ... Reszty osi jeszcze nie uziemiłem ...Potem podłączyłem drugi potencjometr 200k i uziemiłem resztę. ...cały układ się po 3 sekundach zamrażał ... nieuziemione osie już nie wariowały
Więc tłumaczę:
1. Po dotknięciu palcem osie schodziły do zera, tak jakbym je do GND podłączył. Wydawało mi się, że dotykając nie daję im "sieczki" tylko GND

2 i 3. Gdy podłączyłem pierwszy z potencjometrów to jeszcze zostawiłem resztę osi tak jak była. Czyli bez GND. Wtedy kręcąc potencjometrem reszta osi przyjmowała wartości podobne. Już nie wariowały w sposób bliżej niekontrolowany. A po podłączeniu drugiego potencjometru zwarłem resztę osi do masy. Tylko, że te dwa podłączone potencjometry nie działały prawidłowo. Przykładowo jeden z nich skręciłem do GND, drugi do +5V. Obie osie wtedy jakby zwariowały i przyjmowały raz wartości dla GND raz dla +5V. Podejrzewam duże zakłócenia z powodu użycia za dużego potencjometru.
4. Potem podłączyłem jeden potencjometr 10k (czyli odpowiedni) i resztę osi zwarłem do masy. Ale już joystick nie chciał prawidłowo działać. Stąd wywnioskowałem, że procesor się uszkodził, bo skoro coś działa, a po takich zakłóceniach już nie działa to nie potrafiłem znaleźć innego wytłumaczenia. Te nieprawidłowe działanie objawiało się tym, że oś podłączona nie reagowała prawidłowo. Miała zakłócenia i to duże. Po odłączeniu wszystkich osi od masy wartości chwilę wariowały, na dotyk reagowały jakbym je do +5V podłączył, a po 3 sekundach zamrażały się w takiej pozycji w jakiej były. Klawisze też nie działały. Trzeba było odłączyć od USB i podłączyć ponownie. I tak w kółko: podłączam, osie wariują, 3 sekundy, zamrożenie, odłączenie.
Do czasu aż po podłączeniu osie były stabilne. Na dotyk różnie reagowały. Ale tym razem wejścia cyfrowe (przyciski) powariowały. Oznaczenia 32 przycisków (w menedżerze kontrolerów gier) migały w sposób niekontrolowany. 3 sekundy później: zamrożenie.
Po kilku restartach znów przyciski były spokojne. Ale...
5. ...osie nie wariowały. Na dotyk nie reagowały. Na początku przyjmowały tylko losową wartość i powoli ta wartość schodziła do GND. Oczywiście po 3 sekundach zamrożenie.
I teraz jestem na tym etapie.
A co do luźnego podejścia do podłączeń... Chyba będzie lepiej jak zaniecham pierwotnego planu wrzucenia zdjęć głównej płytki

Od spodu, gdzie są luty, wszystko wygląda ładnie, ale z drugiej strony...

104 kable na 15cm^2 A ja się i tak w tym jeszcze odnajduję

To oczywiście nie jest przyczyną moich problemów, to kable przygotowane do przejścia z wszystkimi przyciskami na drugą płytkę, bo na głównej by mi się nie zmieściły. A tak w ogóle to te kable nie mają prawa robić problemów, bo nie są nawet podłączone do procesora, są na razie luźno na płytce i czekają na przyciski, które przyszły wczoraj.