http://obrazki.elektroda.net/25_11981125... Witam wszystkich serdecznie ! Oto kolejny zegarek z wyświetlaczami LED oparty na ATmega8. Znowu ?? Tak, a czemu nie. Konstrukcja powstała jako odpowiedź na zapotrzebowanie na naścienny zegarek z dużymi cyframi widoczny w nocy. Wymiary całości to 180x70x18mm. Zegarek wyświetla tylko godziny i minuty,...
A może to są znaki entera? Czy napis się pojawia na terminalu w kolejnych liniach?
return TRUE; ++licznik1; No ja też się zastanawiam dlaczego zmienna licznik1 nigdy nie zmienia wartości ;) Włącz flagę -Wunreachable-code, to kompilator sam Cię ostrzeże. Pozdrawiam, Dr.Vee
nie używać w kodzie 'wait', bo pewnie korzystasz z bascoma. uzyj przerwań, np co sekundę. wtedy co każde przerwanie najpierw odczytaj poprzedni pomiar, potem poproś kostkę o kolejny.
Czyli przyjmujemy, że nie ma problemu z drganiami styków i innymi zakłóceniami. Jeżeli dobrze zrozumiałem zasadę działania czujników oraz Twój cel i chcesz wykorzystać obydwa INTx, to zrobiłbym tak: 1. pod INT0 podpinasz sygnał decydujący o starcie i końcu zliczania 2. pod INT1 podpinasz sygnał, który ma być zliczany Pseudo kod: 1. inicjacja: 1.1 INT0...
Temat do zamknięcia. Znalazłem błąd na płytce. Jedna z linii DB była podciągnięta do GND. Dziękuję wszystkim za pomoc.
Dla was to poł godziny pracy ...tyle to zajmie analiza programu, bo nie ma nic gorszego niż poprawiać kod pisany przez kogoś innego :/ Do tego chcesz zmianę mocy dmuchawy, liczenie czasu itp. To nie takie proste. Może jednak sam spróbujesz ? Zacznij od dopisania kolejnej opcji w menu.
strasznie żeś nakombinował ja wysyłam tak stringi void USART_Transmit_string( char *text ) { while(*text) USART_Transmit(*text++); } void USART_Transmit( unsigned char data ) { /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ); /* Put data into buffer,...
Gdybym miał tak sformatowany kod, to te nie byłbym w stanie go uruchomić... A Twoje kolejne podstawienia różnych wartości na OCR1A nieszczególnie mają sens.
Tylko jak się zdecydujesz to musisz oprogramować I2C w trybie Slave. A to juz nie wiem czy w Bascomie takie proste. Nie znam Bascoma ale z tego co się orientuje standardowe komendy dotyczą I2C w trybie Master. W sumie I2C będzie łatwiejsze z technicznego punktu widzenia, no i bardziej przyszłościowe np jak zrobisz kolejny moduł. Tylko musisz pamiętać...
Na 100% masz podłączone wszystkie linie zgodnie ze schematem i definicjami? Kontrast masz ustawiony? może on działa jak trzeba tylko tego nie widać. Po co ta kolejna inicjalizacja na wszelki wypadek?
Po pierwsze port powinien być wskaźnikiem na zasób sprzętowy, masz to w FAQ dokładnie opisane. Po drugie wartość zmiennych lokalnych jest tracona pomiędzy kolejnymi wywołaniami funkcji, chyba, że są to lokalne zmienne statyczne.
sprawdzaj czy klawisz został puszczony - czyli jezeli caly czas jest wisniety a liczba zostala zmieniona to pomijaj kolejne zmiany.
Tylko nie wiem czy mierząc ilość impulsów przypadających na jakiś okres czasu uda się osiągnąć precyzję 0.1 km/h przy tak niskich prędkościach a co za tym idzie obrotach. Chyba bardziej precyzyjny był by sposób z pomiarem czasu (z dokładnością do 1ms), między kolejnymi impulsami.
A kto powiedział że musisz go wyłączać? Istnieje lepszy sposób: robisz sobie flagę którą resetujesz w pzrerwaniu od timera. Potem wystarczy dodać coś takiego: Set Flaga : While Flaga = 1 : Wend Takie coś wstawiasz tam gdzie wcześniej musialeś wyłączać przerwania. Działa to tak że uc czeka aż wykona się przerwanie i dzięki temu wiemy że miało...
... lepiej kupić kolejną ATmega8 a starą spisać na straty ( za pomocą wiertarki można np. zrobić efektowny breloczek). A może w celu poszerzania swojej wiedzy autor powinien jednak nauczyć się jak radzić sobie z takim problemem? W końcu może go to spotkać jeszcze nie raz - ma za każdym razem robić breloczek? Dla autora tematu: http://mikrokontrolery.blogspot.com/2011...
Witam, mam problem ze sterowaniem optotriakiem MOC3041, podaje napięcie i na diodzie odkłada się 1.2V, a na wyjściu triaka mam rezystancje jakieś 1.4k ohma, kiedy wyłączam napięcie napięcie spada do zera i triak się zamyka, więc wygląda na to że działa, cały układ jednak nie działa , podejrzewam że BT137 się nie otwieram ale nie mam możliwości chwilowo...
Należy dodać drugi warunek, który sprawdza czy przycisk został puszczony (a więc wcześniej należy również zapamiętać, że został wciśnięty). Gdy zostanie puszczony - zwiększać wartość licznika zliczającego kolejne wciśnięcia.
Oprócz tego mam tylko 1x 8MHz. Właśnie padł mi stary PC z portem LPT przez który programowałem układy. Zaraz spróbuję go naprawić - jeśli nie padła całkiem plyta główna to później wsadzę tej 8MHz i zrobię kolejny test.
Dzieki za odzew,ale czy nie chodzi tu oto aby dostarczyc cieplejsza wode do wezownicy oddac jej ciepło,i wymienic na nową.Różnice temp.ustawioną mam na 10 stopni,a histereza na4,sterownik atmega8.Czas kolejnego załaczenia pompki w słoneczny dzień to ok.4do 5minut.Za każdym cyklem temp.wyzsza o ok.1,7stopnia.
Wiem, że nie ma takiej procedury. I jak wytknął tmf, nie chodzi mi o midi tylko o proste dźwięki typu gama "pisków" z głośnika. Spróbuję poczytać o timerach więcej, ale będę wdzięczny za każdą kolejną informację.
To przerwanie w którym wykonujesz odświeżanie musi działać z dużą częstotliwością, a co do używania delay w przerwaniu napisałem Ci już wcześniej - w każdym wywołaniu przerwania zapalasz kolejną cyfrę, która świeci się do momentu kolejnego wystąpienia przerwania. W kolejnym przerwaniu zwiększasz sobie jakiś licznik, który teraz wskaże na drugą cyfrę,...
Bardzo ładnie to wszystko złożyłeś, jednak ja przyczepię się do okablowania. Mogłeś zastosować taśmę do LCD, a resztę przewodów pospinać w ładne wiązki. Życzę kolejnych udanych konstrukcji.
witam! Pisze do was ponieważ potrzebuję pomocy. Zrobiłem ten układ zaprogramowałem ale potrzebuje żeby w mojej bamie działały krańcówki wiec wykorzystałem nie używane porty pd4,pd5,pd6 i pd7 jako wejścia . I teraz z chwilą gdy brama się zamknie odpowiedni port zostanie zwarty do masy np pind.4 i nastąpi wyłączenie odpowiedniego przekaźnika. W bascomie...
Kolejny cud.
nie wiem czy nie powinieneś czyścić wyświetlacza przed każdym kolejnym pobraniem wartości "result"; char zm[4] - dlaczego dałeś tu tylko 5 miejsc? Pozdr.
2 kanaly na timer1 a kolejne 2 na timer2 :]
Tak jak napisał arturavs - diody wewnątrz ULN będą zabezpieczać przekaźniki i te na zewnątrz staną się zbędne (nadmiarowe). Uprości się konstrukcja. Za schemacie wnętrza ULN podanym przez dondu nózka CD+ oznaczona jest jako COM. Wyobraź lub dorysuj sobie tam przekaźnik to zobaczysz, że powstanie dokładnie taki układ jak zaplanowałeś. Kolejna dioda (na...
cóż chylę czoło przed bascomem i odmiennością od C, jednak jakby nie patrzeć jeśli zacząć np. cykliczne powiększanie od najmniejszej wartości do największej wyjdzie na to samo czyli 65535 kolejnych operacji zwiększania :)
Bo nie zablokujesz możliwości odczytu, jedynie odczytany program to będą całkowite bzdury. Co do tych dwóch ton, to kiedyś pisali o tym w EP, ale tam było o prostych picach. Przyjżyj się odczytanemu programowi z zabezpieczonego procka, przecież to kolejne wartości bajtów, a nie program
I2C wymaga sterowania wyjściem OD/OC a co za tym idzie używanie rejestru PORT do ustawiania stanu wysokiego to mocno nietrafiony pomysł. kolejny nietrafiony to używanie operacji XOR do sterowania stanem linii. Zdecydowanie zaciemnia kod nie przynosząc żadnych realnych korzyści.
Myślalem raczej by nie zapamiętywać wartości OEE i Wykorzystanie tylko stany w danych chwilach co 5 minut. Szukane OEE i wykorzystanie obliczyć na podstawie dwunastu wartości stanów. I tu się nasuwa problem dokładności 12 próbek to tylko 1/12= ok 8% dokładności. Proponuje więc faktycznie zrobić jak największą tablicę. Idealna była by na 3600 próbek...
po pierwsze: nie rozwiązało to problemu po drugie: oczywiście zmieniłem na atmega8 wcześniej jak za pierwszym razem ślepo wkleiłem atmega32 to wyskakiwało że się procesor jest nie zgodny a więc to też nie rozwiązuje problemu czekam na kolejne propozycje rozwiązania :)
A jaki kondensator dodać przy zasilaniu gsm(dodanie kondensatora chyba nie zaszkodzi? mam 100uF, 470uF, 1000uF i 10000uF)? Na razie chcę spróbować wszystkiego co nie wymagaga robienia kolejnej płytki pcb.
No nie tak źle, potem zawsze możesz zmienić adres komórki na kolejna i masz kolejne 27 lat xd.
Z tego co widzę twój dzielnik dzieli napięcie 14 razy. Czyli z 30V na wyjściu ci robi ok. 2V. Jako VRef masz 5V, czyli wykorzystujesz mniej niż połowę zakresu ADC. Czyli rozdzielczość pomiaru wynosi ok. 70mV. Druga rzecz - nigdzie nie widzę, żebyć ustawiał rejestr multiplexera, a wykorzystujesz kilka kanałów ADC. Po zmianie wejścia ADC jak długo czekasz...
Dokładnie o to mi chodziło. Jesteś już kolejną osobą, która sugeruje, że muszę podkręcić jasność wypowiedzi ;)
Kolego vectra96 nie zmieniaj postów, pokaż program o który ci chodzi nie licz na to że ktoś będzie się domyślał... Mam problem oczywiście z programem z 1 postu. Moje poprzednie posty edytowalem i dopisywalem kolejne komentarze aby nie nabijać sobie kolejnych postów/punktów.
To nie są przerwania na PB1, 2, 3, a sprzętowe wyjścia timerów. NA ATmega8 masz trzy wyjścia PWM - dwa z T1 i jedno z T2. Nie wiem, ilu w końcu potrzebujesz. Jednego powinieneś użyć do generowania 36 kHz, kolejnego (a może dwóch) do sterowania silnikiem. Czemu mają służyć te zabawy z przerwaniem timera i programowym machaniem nogą uC?
Miganie wyświetlaczy - to zła organizacja kodu, a nie problem wydajności. Coś jest źle z tymi przerwaniami i przyspieszenie zegara tu nie pomoże, a tylko zamaskuje problem, ktry ponownie wypłynie przy kolejnej modyfikacji kodu.
Diody wpięte szeregowo z kondensatorami, zależnie od ich pojemności, będą tylko błyskać. Diody z rezystorami podłączasz do jakich portów chcesz, programowo zdefiniujesz do jakich portów są podpięte. Ułatwić nieco program można podpinając kolejne diody do jednego portu zgodnie z kolejnością numeracji pinów.
Chciałbym ale wywala że ramu mało, a jeszcze możecie mi powiedzieć czy przez taki programator: http://obrazki.elektroda.pl/3384859100_1... powinien zasilać samodzielnie cały układ czy włączyć stabilizator ? Po wklejeniu programu i kliknięciu "Bulid and Run" to się już zaprogramuje ? Z tego co zrozumiałem z poradników to tak ale chciałbym się...
Problem leży zarówno w błędnych operacjach bitowych, jak i w błędnym sterowaniu silnikiem. Na początek powinieneś nim sterować w czterech, a nie ośmiu krokach. Najprościej przy każdym kroku wyzerować niepotrzebne dłużej sterowania, a potem ustawić dwa odpowiednie bity, czyli PORTC &= 0xf5; PORTC |= 0x5; A dla kolejnych trzech kroków zamiast cyfry 5...
W przerwaniu dwukrotnie sprawdzasz warunek z użyciem rejestru UDR. Ta operacja odbiera bajt w celu porównania. Przy drugim if-ie możesz dostać ten sam bajt, albo następny z odbieranych. Jeśli to ma być kolejny, to musisz na niego poczekać (co nie jest dobrym pomysłem w przerwaniu). Myślę, że masz tu błąd. Pozdrawiam!
twój program doskonale miga diodą zgodnie z zamierzeniem ale musisz poczekać nie sekundę a kilka minut bo z powodu niezerowania licznika count kolejne mrugnięcie zachodzi dopiero po przekręceniu inta :) (btw. w tej sytuacji volatile jest niepotrzebne)
Fabrycznie zapewne na linii zasilania jest umieszczony odpowiedni potencjometr jak przypuszczam. No to teraz się sprawa kolejny raz skomplikowała.
Dalej to samo, mysle ze czujnik reaguje na zmiany temperatur, bo w chwili gdy go podgrzewam temperatura skacze do ponad 100 stopni, a gdy chlodze np. lodem to maleje prawie do 0 stoplni. Takze jest reackaj na temperature, jednak wartosci temperatur nie sa prawidlowe. Takze jak juz wiem co jest nie takj, na ktory kawalek kodu powinienem zwrocic uwage?...
A co się wyświetla? W wielu przypadkach po tym co otrzymujesz można się domyśleć, gdzie tkwi błąd. Na szybko widzę co najmniej jeden - funkcja odbioru odbiera bajt, wyświetla go na LCD i czeka 300ms na kolejny po czym kasuje LCD. Jeśli nadajesz więcej niż 2 bajty to je gubisz, bo odbiornik ma bufor tylko na 2 bajty. Zrób odbiór w przerwaniach.
Obsługa przerwania powinna być bez pętli a już na pewno bez czekania 500ms. Przerwaniu masz wystawić jedynie na wyświetlacz wartość i włączyć wyświetlacz 1. w kolejnym włączasz 2 wyświetlacz
Zrobiłeś to co sugerowałem z GND? Pokaż ujęcie z drugiej strony oraz zdjęcie tak, by można sprawdzić podłączenie do programatora. BASCOM + zegar OK, ale kolejne już sobie odpuść.
Płytka do wywalenia bo się uszkodziła i muszę polutować elementy na nowej ale najpierw muszę je wylutować. Może wkręcę starą płytkę w imadło i od drugiej strony podgrzewać będę opalarką, elementy same powinny pospadać jak się cyna rozgrzeje? Dodano po 2 Ja kiedyś stosowałem żyletkę. Grzejesz lutownicą a pomiędzy atmege i płytkę wkładasz żyletkę. Też...
Dokładność 2 stopni powinieneś uzyskać bez większych problemów z 3-osiowego akcelerometru o ile zastosujesz się choćby częściowo do tego co wcześniej napisałem. Nie mam pojęcia w jakim formacie przyjmuje dane linkowany przez Ciebie projekt, ale to Ty decydujesz w jakim formacie wysyłasz dane z Atmegi, więc proponuję poczytać, sprawdzić, skorygować i...
Nie, jeśli załadujesz rejestr SPDR do wysyłki w przerwaniu, to te dane zostaną dopiero wysłane podczas inicjalizacji kolejnego transferu przez Mastera.
Komparator dziala caly czas, tylko za pierwszym razem ustawia 0xFD na porcie, pozniej tego nie zmieniasz(!!), a jak przychodzi kolejne przerwanie to znowu ustawia 0xFD - czyli de facto nic sie nie zmienia. Proponuje w obsludze przerwania wstawic negacje pinu z dioda led. Nie wiem czy ja sie napewno zrozumiale wyrazilem. Wlaczasz zasilanie - PortD =...
Mylisz się kolego szczywronek . Ambicja nie jest rzeczą godną pochwały. Tutaj sami ambitni się zgłaszają z kosmicznymi pomysłami na pierwszy program i szybko kończą zniechęceni. Trzeba zaczynać od podstaw a nie porywać się z motyką na słońce. Proponuję by kolega Asmox najpierw napisał swój program w oparciu o tego "programowego muła". A jak to mu się...
:arrow: wildchicken za takie pytania powinienem dawać bana :|. Rada - patrz post mirekk36, przed kolejnym pytaniem - to samo.
Rzeczywiście nie ma ADC, nie zauważyłem. A co do zakłóceń to można wyfiltrować i zastosować wejścia prądowe - przez transoptory. Jeden pin przełącznika podepnij pod masę a drugi pod wyjście z procesora. Na początek ustawiasz na tym pinie 1 i sprawdzasz wejścia. Jak któreś jest =0 to znaczy że przełącznik jest zwarty z masą. Później ustawiasz 0 na drugim...
Mam problem kolejny raz :( Czy atmega8 jest jakimś seryjnie uszkodzonym układem :?: Drugi raz z rzędu zaprogramowałem ukłąd w układzie (zwykłe ISP) po wgraniu fusów jak powyżej układ nie reaguje na programator STK200. Coś jest nie tak :?: Zaprogramowałem wiele procesorów tym programatorem nawet przy niższych napięciach i było ok a z tą megą wymiękam...
wgraj sobie nowy soft do usbasp na poczatek - tematów usbasp RC=-1 było tu na elektrodzie od groma. poczytaj trache a nie zakładaj kolejnych wątków usbasp RC=-1.
Nie znam się zbyt dobrze na programowaniu ale nie miej mnie znowu za totalnego idiotę :D przypuszczam że pierwsza() i druga() odpowiadają za linie pierwsza i druga na wyświetlaczu... :p trzeba było odpowiednią liczbę pauz wpisać przy wyświetlaniu trzeciej linii nie mam to to nic nie daje efektu :/ Spróbowałem przesunąć wyświetlanie amperów w tej samej...
Zastanów się również, nad poniższym fragmentem kodu: Chodziło o to, że zawsze 1. lub 2. warunek będzie spełniony i kolejne nie będą sprawdzane.
FF-y to są w nowym "pustym" procesorze. Z Atmegi zabezpieczonej lockbitami odczytasz właśnie kolejne liczby, coś w tym rodzaju: 00 00 01 01 02 02 03 03 04 04 itd.
Zacznij od pokazania całego kodu. Jeśli korzystasz z przerwań, to najprawdopodobniej mikrokontroler nie wyrabia i powoduje opóźnienia. Policz sobie (BTW, przy OCR2 = 4, dostajesz 100kHz, popatrz na wzór, należy do OCR2 dodać jeden przed dzieleniem), przy częstotliwości 100kHz, procesor ma 10 taktów na obsłużenie przerwania, co na pewno trwa dłużej,...
Dodaję że przy pierwszym naciśnięciu klawisza na wyświetlaczu podlaczonym do slave pokazuje się 33 niezależnie od tego jaki klawisz wcisnę ale przy kolejnych naciśnięciach brak reakcji.
... A jak się sprawa przedstawia kiedy sam TWI wpisze tam 1, czy przerwanie nie powinno się wtedy wyzwolić?... Powinno , ale pod warunkiem że : flaga I w SREG=1 i flaga TWIE w TWCR=1.Przed opuszczeniem procedury przerwania , należy wyzerować(wpisać 1) do flagi TWINT w TWCR , by uniknąć kolejnego przerwania. Piotrek
Już z wypowiedzi z pierwszego postu wnioskowałem sobie coś o Twojej osobie. To jednak zostawię. Żeby procesor odliczył poprawnie 500ms za pomocą funkcji Waitms to trzeba mu podać rzeczywiste taktowanie uC a nie takie jak Ty myślisz że masz albo chciałbyś mieć. To z tego powodu że przy taktowaniu 1MHz zegar musi tyknąć 500 000 razy a dla taktowania 8MHz...
No właśnie chyba jednak mnie to na razie przerasta :( Gwarantuję, że nic kolegi nie przerasta ;) Tylko jak zwykle - trzeba mniejszymi kroczkami no i czasu trzeba. Tak w ogóle to zanim kolega przejdzie do rozpatrywania takich rzeczy, proponuję wrócić jeszcze do rozdziałów typu "Multipleksowanie LED". Tam są przykłady wykorzystujące i omawiające przerwania...
Nie wiem czy to przypadkiem nie będzie nie na temat ale może coś masz z zasilaniem nie tak, wczoraj miałem przypadek ze atmega8 była niewidoczna przez programator ( tj. widoczna raz na 10 prób czytania sygnatury ), zasilacz standardowy 1000u - 100n - 7805 - 470u - 100 - atmega; i dopiero wieczorem dolutowałem na wyjściu 7805 kolejne 1000u i po problemach....
troszkę się zamotałem, powinienem przesunąć istniejący kondensator czy dołożyć kolejny na nóżki 7 i 8 ?
Program jest taki sam. Funkcja while(1) to prawie 4 linie kodu. Tylko czy drugim klaśnięciem trafimy w "pomiar ADC"? Czy to będzie pierwsze klaśnięcie w kolejnej pętli while(1)?
Ale która konkretnie, czy Enable interrupts, czy Enable Timer0, czy oba na raz? Moim zdaniem to kolejny bug bascoma, znów może jakieś pokręcone rejestry, itp. Dokładnie problemu zidentyfikować nie mogę, bo takich procesorków nie mam, ani czasu tez zabardzo na takie badania. Jedyne co mogę doradzić to: a) zrobienie własnoręcznie przejściówki m8515/m32...
Multipleksujesz to jak zwykłe 7 segmentowe wyświetlacze LED. Mam nadzieję że wiesz na czym to polega. W ruch idzie timer który podczas przerwania zapala jedną kolumnę i wpisuje do portu odpowiednią wartość. Kiedy nie występuje przerwanie to kolumny zostają wygaszone. I tak w kółko z taką częstotliwością żeby oko ludzkie nie było w stanie tego zauważyć....
witam. jak zmienic ten program aby z przyciskow (PD0, PD1) sterowac jednym serwem (PB0), nastepnie przyciskiem (PD2,PD3) sterowanie kolejnym serwem (PB1).. i tak dalej ....?
Dobra dzięki za odp, drugie pytanie było czy warto. Mogę o schemat? Kolejne pytanie, czy na atmega8 obsłużę tylko "jeden kanał"? Chciałbym jeszcze do prędkościomierza, czy muszę dwa oddzielne układy.
Co będzie jeszcze dodane w przyszłości? W projekcie dobrze jest przewidzieć kolejne kroki i podzespoły...
Brakuje oczekiwania na puszczenie przycisku wyzwalania. W takim przypadku będziesz musiał uważać aby przycisk trzymać krócej niż 300ms, inaczej wygeneruje są kolejny impuls
Witam. Mam programator USB i raz udało mi się zaprogramować atmega8. Za kolejnym razem się nie udało. Kupiłem nowy uC i nadal nic. na dole podaję komunikat który mi wyskakuje. Bardzo proszę o pomoc. http://obrazki.elektroda.net/74_12379185...
No przecież! :) Dziękuję dondu kolejny raz za pomoc, to tutaj tkwił błąd.
Witam, Ja bym na twoim miejscu zrobił prosty test, który na pewno dużo by ci wyjaśnił i mógłbyś wyciągnąć wnioski co robisz nie tak: ee93_we(); for(i=0;i<100;i++) { ee93_write(i,i); } ee93_wd(); a po tym sprawdź sobie jak wygląda zawartość pamięci ;) nie sądzisz, że to dużo ci powie? Wg tego powinieneś mieć...
Zmienne static są inicjowane przypisaną wartością tylko raz, na początku programu. Kolejne wejście do procedury obsługi przerwania nie powoduje ponownego przypisania im wartości; mają wartość taką, jak po zakończeniu poprzedniej obsługi przerwania.
Po raz kolejny: Post #11, linijki 2 do 4. Albert
Co do śmieci to link chyba wyjaśnia przyczyny. Co do ramki co za różnica? Jak przyłożysz co tam masz to EM zacznie wysyłać dane. Jak się spóźni z synchronizacją to Atmega8 poczeka, aż kolejny raz będzie się synchronizować z EM. Jak zdekoduje połowę ramki bez początku transmisji? Jak wyjdzie błąd wtedy atmega8 zacznie ciągły nasłuch, aż się zsynchronizuje....
Witam. -P avrdoper raczej nie zadziała. -P comX w win lub -P ttyUSBX w -nix dla ftdi ..sorki to kolejny hid :(
Może skorzystać z przerwania, które UART zgłosi, kiedy odbierze znak. Wtedy kod może wyglądac tak: ISR (SIG_OVERFLOW2) { //obliczanie wartosci ktore maja byc wyswietlone na wyswietlaczu } ISR (USART_RX_vect) { //operacje na odebranych danych } main(){ //wlaczenie przerwan itp while(1){ //wyswietlanie...
Moim zdaniem zabrakło chęci lub czasu... 16x16 ATmega8: https://320volt.com/en/atmega8-ile-led-g... i kolejny ATMega88 (at)8Mhz: [youtube]https://www.youtube.com/watch?v... [youtube]https://youtu.be/WYuds88xR20[/y...
Multipleks na 4 wyświetlacza robisz tak: Na jednym porcie Atmegi wystawiasz dane segmentów z tej cyfry która wybierana jest jeden z czterech bitów następnego portu. Zmieniasz te dane na kolejne z czasem około 2,5 ms co gwarantuje Ci że nie będą migotać. Ja taki czas po prostu sobie wypraktykowałem.
Ale tylko jak procek nie jest zabezpieczony. Bo tak będziesz miał kolejne wartości liczbowe.
Nie co 864us. Masz odliczać aż nastapi kolejne przerwanie i sprawdzać ile odliczyło.
Bardzo dziękuję za pomocne rady :) Jeśli wszystko się uda to konstrukcja za jakieś dwa miesiące będzie na elektrodzie. (Teraz czas na projektowanie płytki, tematu nie zamykam gdyż mogę mieć kolejne problemy z pcb) Pozdrawiam.
Przemyśl to jeszcze raz. Atmega8 jest tani, ale taniej wyjdzie programator równoległy. A co jeśli po raz kolejny zablokujesz sobie procka? Chyba że poczekasz aż nazbiera się ich więcej...:)
Dzięki za podsunięcie dobrego pomysłu jednak puki co goni mnie czas i nie wiem czy bym się wyrobił z takim rozwiązaniem(kwestia opanowania) a mam już wszystko przygotowane pod zwykłe ISP. W kolejnym projekcie na pewno to wykorzystam :)
Po raz kolejny ekipa z elektrody mi pomogła, wielkie dzięki za to:)
Nie ma problema. W przypadku kolejnych wątpliwości pytaj, ludzi życzliwych tu nie brakuje. PS Polecam na tym poziomie książkę: Marcin Wiązania "Programowanie mikrokontrolerów AVR w języku BASCOM" - dostępna w korporacji AVT. http://sklep.avt.com.pl/go/_info/?id=346...
...Proszę o jakieś podpowiedzi bądź kawałek kodu co ma być dalej, żeby generować te nieszczęsne 40kHz ... To już wszystko :) Na pinie PB1 masz przecudne 40kHz , jeśli faktycznie procek jest popędzany 8MHz. W ramach testu , możesz w pętli głównej napisać: Do Set Tccr1a.com1a0 'dołącz oc1a do pinu Wait 5 'przez 5 sekund fala 40kHz Reset Tccr1a.com1a0...
no oglądałem ten link tylko nie ma schematu do odbiornika ii nadajnika i w tym jest problem Nie stosowanie sie do poleceń moderatora skutkuje kolejnym upomnieniem!
Już zaprogramowałem atmega8 programem avrdude i mam kolejne pytanie jak usunąc pamięć?
poczytaj o przesunięciu bitowym... zamiast wpisywać do tablicy możesz zadeklarować jakiegoś integera przesuwać o 1 bit i dodawać kolejne odczytane bity, w ten sposób będziesz miał liczbę całkowitą reprezentującą odebrany kod a zamiast wielu if możesz użyć case trochę to uprości.
Z tego co wiem pomiar metodą kolejnych przybliżeń z ADC trwa jakiś czas. Co będzie, jeśli w tym czasie nastąpi przerwanie? Konwersja ADC realizowana jest sprzętowo, to co w tym czasie robi procesor nie ma na nią wpływu. Także ew. przerwanie z pewnością nie wpłynie na wynik konwersji.
Pozwole sobie odgrzac kotleta jako kolejny. Posiadam takie soczewki i rozwiazalem problem wlasnie za pomoca atmega8 i driver silnika krokowego bipolarnego. Dysponuje schematem. Uklad dziala u mnie prawidlowo :) Jestem tylko rozczarowany jakoscia linii swiatlo/cienia, trageia jakas...
Zastanów się - skąd kompilator ma wiedzieć jaki rozmiar ma zdefiniowana tablica znaki? Definiujesz ją jako typ niekompletny i kompilator tego po prostu wiedzieć nie może. Musisz więc przekazywać oprócz tablicy znaki[] także jej rozmiar definiowany przy wywołaniu funkcji. Możesz też przyjąć, że tablica kończy się znakiem specjalnym, np. NULL i robić...
kolejny zegarek kolejny termometr kolejny paczka
emulator windows androida połączenie styków przełącznika moduł romet chart
dodge grand caravan radio przetwornica 24vdc 12vdc
KLR318SA - Zamiennik sprężyny do zmywarek Electrolux i siłowników gazowych Jak wyłączyć tryb testowy w Pioneer FX-M2016ZSA?