To mi nie poszło na forum
Nie jestem testerem „googlowych” teorii i nie testuję bezmyślnie tego co ktoś opublikował z pretensjami, że nie działa. Wiem, że tak mój wpis wygląda i chciałem to sprostować bo działam w dobrej wierze. Co najgorsze to kod który napisałem był mój o czy później.
To, że napisałem o poszukiwaniu podobnego tematu odnosiło się jedynie do atmegi8 i kilku kanałów odczytywanych bezpośrednio po sobie bez wychodzenia z funkcji. Po prostu nie potrafię napisać o co mi chodzi a znalazłem podobnych do mnie
A teraz najlepsze, chciałem przeprosić za własna głupotę bo z powodu wpisania „!” w pętli sprawdzającej koniec konwersji doprowadziłem do natychmiastowego wyjścia z pętli
Zawracam głowę na forum i tracę czas innych. Ja straciłem kilka dni
Co do źródła REF to mam zewnętrzne tylko i wyłącznie z powodów poznawczych bo jak pisałem nie jestem elektronikiem a próbuję się czegoś nauczyć. Opisane w książce zagadnienie ADC przerobiłem i działa bez zastrzeżeń od zimy w woltomierzu który zrobiłem do auta. Teraz chciałem sam cos napisać i wyszło jak zawsze
Z pokazaniem schematu może być ciężko bo dopiero ogarniam eagle i wszystko masakruje w zeszycie i na stykówce. Wiem, że to nie elegancki sposób ale tak na razie robię. Zastosowałem LM385Z-1.2 bo taki miałem, środkowa nóżka do procka i rezystora który idzie do VCC a dwie zewnętrzne do masy. Na mierniku mam dokładnie 1,235V i tu chyba wszystko gra.
Wkleję kod który męczę i jakoś działa, ale dostane zaraz opr bo opisy robiłem tylko dla siebie i nie wszystko jest logiczne a znam nastawienie autora książki
Dodatkowo kod jest pisany w sposób mocno przypadkowy, gdyż szukałem sposobów na ogarniecie impulsów VSS i wtrysku tak, aby uzyskać wynik (impulsy generuje tym samym procesorem bo nie mam generatora). Wszystko będę zmieniał i wrzucał do funkcji z wieloma argumentami a nie jak jest teraz każda zmienna żyje własnym życiem
Tak to wygląda na biurku
http://www.youtube.com/watch?v=xw2z3GF0wmM&feature=youtu.beJak pisałem wcześniej, chciałem tylko zapytać czy atmega8 może bezpośrednio po konwersji ADC z jednego kanału rozpocząć kolejną bez wpływu na wynik (kolejny oczywiście). I żył bym z tym pytaniem nadal gdyby nie ten zimny prysznic który mnie uświadomił. Najgorsze jest to, że zdołałem sobie poradzić z problemem robiąc jakieś dziwne pętle które poniekąd były substytutem _delay i wszystko mi niby działało.
Mam jeszcze jedno głupie pytanie, w „ADMUX = (ADMUX & 0xF8) | kanal;” jest f8 a nie f0. Efekt generalnie ten sam bo bit MUX3 jest nie wykorzystany, ale gdy przypadkiem będzie miał 1 to może coś się pokrzaczyć, chociaż tylko ja mógł bym tam wpisać 1
Jedno małe „!” zniszczyło mi życie
Dziękuje za pomoc, teraz się dwa razy zastanowię zanim coś nowego odkryję odnośnie AVR
Pozdrawiam
Kod w wersji z odczytem ADC w petli, PWN_LED nie oznacza PWN bo na multipleksie nie działa (włącza tylko dodatkowy rezystor na anody)
Proszę go traktowac jako przestrogę a nie przykład
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.