Witam, ...Na samym początku programu mam miganie 100x50ms - stad wiem, czy program wisi czy nie. ... jestes w stanie to zauwazyc to dla ludzkiego oka swiecenie ciagle no i masz opoznienie rzedu 5s na starcie. Wlasnie od tego masz konfiguracje procesora fusebits, ustawiasz odpowiednie poziomy i opoznienia przy starcie, czemu nie dasz kondensatora raczej...
opoznienie musi byc min 750ms.. bo inaczej otrzymasz zle wartosci
joy_pl: jedyna taka tabele jaka mi sie kojarzy, to moze byc dotyczaca UART, gdzie widniala czestotliwosc rezonatora, predkosc transmisji i blad procentowy. Oprocz zwiekszenia opoznienia ja bym jeszcze dodal drugie opoznienie pomiedzy pomiarami a nie tylko na koncu petli.
Patrzylem na swoj program pilota uniwersalnego w którym stosuje power down i tam oprocz ustawienia wybudzania ma jeszcze ustawione aktywne przerwanie zewnetrzne i oczywiscie napisaną obsluge przerwania. Dodano po 2 moze zamiast zerowac pojedynczy bit w MCUCR wpisz cała wartosc do tego rejestru, gdyz nie widze gdzie ustawiasz ISC11, a jezeli zakladasz...
Nie napisałeś jaki to procesor. Przykładowo dla Atmega8/Atmega32 wystarczy gdzieś napisać UCSRB.TXEN = 0 Dla Mega328P UCSR0B.TXEN0 = 0 Mowa o Atmega16. Instrukcja UCSRB.TXEN = 0 rzeczywiście działa ale tylko do czasu, kiedy nie połączę się z drugą Atmegą. Tak wygląda początek programu dla Atmega16 (odbiornik): Dodano po 2 Znalazłem jeszcze taką informację:...
Jeżeli losowe i bascom to trzeba zrobić pętle od zera do zadanej a w środku wstawić waitms 1. Np tak: dim opoznienie as byte 'moze byc inne dim petla_pomoc as byte .... opozninie=rnd(60) for petla_pomoc=0 to opozninie waitus 1 next petla_pomoc ....
Witam. W programie "AVR delay loop generator" wygenerowalem funkcje opoznienia dla procka ATmega8 przy zalozeniach: kwarc 8MHz, opoznienie 0,002s = 2ms i program wygenerowal mi kod (podaje przeksztalcony juz do funkcji w AVR studio) ; ============================= ; delay loop generator ; 16000 cycles: ; ----------------------------- ; delaying...
jedyne, co to możesz zrobić to "szybkie miganie" diodami portX.X = 1 waitus opoznienie portX.X = 0 X oczywiście zamień na odpowiednie wartości switchami zmieniaj długość opóźnienia if pinX.X = 0 then opuznienie = opoznienie - X end if // zwiększa jasność if pinX.X = 0 then opuznienie = opoznienie + X end if //zmniejsza jasność //ten kod działa, jak...
hej. do dziś myślałem ze typ zmiennej int przechowuje wartości od -32768 do 32767. a tu nagle... napisałem prosty programik na atmega8. nie robi nic tylko powiększa wartość zmiennej typu int o 1. w miedzy czsie dalem male opoznienie i wyswietlenie liczby na lcd, coby dalo sie wszystko zaobserwowac. odpala sie proc. w pętli głównej zmienna sie inkrementuje,...
mozesz tam maksymalnie wprowadzic jednorazowo opoznienie 256 ms. Zeby odmierzyc 1s musisz zrobis oponienie np delayms(100) i umiescic w petli for *10 Tzn. że mam użyć gotowej funkcji bibliotecznej WinAVR - "void _delay_ms (double __ms)" z bibliotegki "delay.h" i wsadzić ją w takiego fora: #include <util/delay.h> ...... void delays ( )...
Pomoze ktos w skompilowaniu tego programu ?? przepisalem ten program z Nowego Elektronik i chcialbym zaprogramowac nim procesor atmega8 ale nie wiem jak to zrobic. [syntax=basic4gl] 'Nowy Elektronik 701-k 'Licznik Impulsów ver. 1.0 'BASCOM-AVR IDE Verion : 1.11.8.1 'Compiler: Version 1.11.8.1 $regfile ="m8def.dat" $crystal = 12000000 Dim Impulsy As...
No to napisz sobie program na pomiar z dwoch zrodel i sam sie przekonaj, Oczywiscie jak dasz długi czas konwersji to bład bedzie minimalny, ale np u mnie przy min czasie konwersji mierzone napiecie 2.6v pokazywalo 1.4 po dodaniu opoznienia ok 30uS zaczelo wskazywac 2.6V. No cóż tez jestem tym zaskoczony bo kazde opoznienie dla mnie to wzrost poboru...
Witam, mam problem z poniższym programem,który jest częścią większego kodu. Chce aby wejść w aplikacje, konieczne bylobyby wcisniecie odpowiednio w sekwencji :3 razy przycisk 1, 2 razy przycisk 2. Po wpisaniu tej sekwencji program ma przejść do dalszych instrukcji w mainie. Jesli kolejnosc sekwencji zostanie pomylona program wraca do poczatku wpisywania....
Witam serdecznie. Zrobilem prosty wlacznik pompy na atmega8 temperatura mierzona na 1-wire, wyswietlacz LCD do wskazywania temperatury W sumie bardzo prosty ukladzik jak temperatura wieksza od TON to zalancza pompke a jak mniejsza od TOFF to wylancza. Elementem wykonawczym sa dwa przekazniki sterowane przez BUZ11. Zasilanie ukladu jest zrobione ze starej...
Witam Mam za zadanie wykonać sterowanie fazowe żarówki. Wykorzystuje układ Atmega8 oraz Bascom 1.1.9.5. Poniżej przedstawiam kod: Enable Interrupts Enable Int0 Enable Timer1 Config Int0 = Falling Config Timer1 = Timer , Prescale = 1 On Int0 Przerwanie On Timer1 Opoznienie Load Timer1 6000 Do Loop : End Przerwanie: Start Timer1 Return Opoznienie:...
Witam, Zapisz_buffor to funkcja z ksiazki tmf. Zapisuje ona cyklicznie do buffora skladajcego sie z 1000 komorek eepromu kolejne wartosci licznika. Program mam napisany w nastepujacym stylu: [syntax=c]if((trzymam_PD0)) { zapisz_bufor(licznik++); zmieniam_PB0(); //na stan przeciwny w stosunku do PD0 //PD0 jest filtrowane przez 100nF i 4,7kOhm, nie ma...
przepraszam //Najpierw musisz ustawić odpowiednie parametry //np tak Kod: //unsigned char odebrane; //zmienna globalna - definujemy ja przed wszyskimi funkcjami unsigned - oznacza ze przyjmuje warotsc od 0 do 255 unsigned char zmienna; #include <avr\sfr_defs.h> //pozwala sterowac bitami code::blocks #include <avr\io.h> //wejscia_wyjscia...
Tak jak pisałem jest źle napisana logika w Twoim programie, nie może być ELSE IF if a potem ELSE. Poprostu nie wykonuja się kroki silnika. Dodatkowo jeśli kroków będzie więcej jak 100 to będzie przekroczenie czasu 300ms pomiaru timerem1. Dlatego pisałem że jeden pomiar, jedno wykonanie kroków silnikiem i dopiero ponowne wykonanie pomiaru. Powinno być...
Witam serdecznie, mam problem który polega na dostosowaniu programu działającego na AT90S8535P do Atmega8. Dokładniej problem polega na tym że Atmega8 nie posiada wyjść tosc1/2. Poradzono mi aby sam uC pracowal na wewn. układzie RC a zegar na zewnetrznym oscylatorze. Szukałem info na temat zmiany konfiguracji ale nie mogę wymyśleć co zmienic w kodzie...
Freddie, ok wiem, ze to zależy od czasu działania przerwania uartu. Przeciez z tego co napisałem łatwo wywnioskować, że przerwanie od uartu jesli nastąpi miedzy przerwaniami od pwm'a to wymaga szybkosci takiej aby zakończyło się przed następnym wywołaniem przerwania od timera. ale opoznienie miedzy bajtami musze zrobić jakoś inaczej. Pomożecie? a Co...
Niestety nie potrafię tego przełożyć na Bascom więc , może przedstawię Ci koncepcje jak to pisałem ok ? Aktualnie dla jednej napisane bo nie mam jak dołaczyć drugiego ( jestem niestety po za miastem ) , ale nie ważne . Więc jesli patrzyc z perspektywy jednego 8x8 : Ustawiłem Timer na f = 50 Hz * 8 ( kolumn ) . W obsłudze przerwania wpycham do rejestru...
Witam! Mam problem z pomiarem z adc a dokladnie z tym ze wynik pomiaru skacze na lcd przy napieciu 12V w zakresie od 8V do nawet 12V. Probowalem dawac opoznienie w odczycie a takze dodalem po 2 kondensatory 100nF na kazde wejscie adc ale nic to nie dalo. Dodam jeszce ze jak mierze napiecie z modułu uruchomieniowego w ktorym mam regulowane napiecie od...
W ASM rozwiązanie Twojego problemu wygląda następująco: [syntax=text] ;DDS DEMO by Bobeer 2012 ;MCU - ATTINY13A ;XTAL - no ;EXT OSC 16,384kHz startup 14CK+64ms BOD=DISABLE CKDIV8=OFF ;minimalna rozdzielczość kroku to 10Hz/256 (0,0390625Hz) ;minimalny "okrągły" krok 10Hz ;maxymalna czestotliwosc 327,68kHz ;regulacja pwm 8bit 0=0V 255=VDD-1bit ;-------------program...
Z góry przepraszam za zamieszczenie całego programu - i tak jest okrojony do minimum - ale gotowy do skompilowania (ICCAVR) Chciałem uniknąć pytań z cyklu a co masz jeszcze w programie - może się gryzie... Problem dotyczy wysyłania danych za pomocą interfejsu RS232 w procesorze AT Mega8 ( pewnie i innych ale ja wałkuje akurat ten ) Nie moge dojść dlaczego...
Mam ATMega8 i podłączony do niego wyświetlacz LCD (8 znaków, 1 linia). Po wpisaniu poniżeszgo programu nie ma żadnej konuikacji z LCD. Dane do LCD wysyłane są po 4 bity. Używam kompilatora winavr. Gdzie zrobiłem błąd?? plik lcd01.h #ifndef LCD_H #define LCD_H #include <avr/io.h> #include <stdlib.h> #include "avrlibdefs.h" #include...
Witam. Mam problem z inicjalizacją wyświetlacza LCD w trybie 8 bitowym. Jeżeli ktoś czuje się dobrze z asemblera i ma ochotę pomóc mi znaleźć problem to będe bardzo wdzięczny. Układ pracuje z kwarcem 16MHz i zasilany jest napięciem 5V .include "m128def.inc" ;KONFIGURACJA LINII ATMEGA128 .EQUK_ST_LCD_DB=DDRC;Kierunek portu STEROWANIA WYSWIETLACZEM...
Może zrób tak: If Pind.2 = 0 Then 'i jest wciśnięty przycisk PIND.2 Incr Opoznienie_odczytu 'no bo przycisk ma drgania dłużej niż 237us- niech zwiększy 'to sprawdzanie powtórne do 17ms If Opoznienie_odczytu >= 70 Then 'dajmy mu na wygaszenie drgań 17ms If Temp0 = 0 Then ' i jest zezwolenie na zmianę stanu Gosub Ustawianie Temp0 = 1 ' zablokuj zezwolenie...
Po pierwsze jesli ustawiasz bity WGM21 i WGM20 to licznik dziala w trybie fast PWM. Po drugie, ale pewnie mniej wazne, sei() daje sie po skonfigurowaniu wszystkich licznikow. Po trzecie timer2 odlicza tylko 1ms a ty potrzebujesz 1s co daje ci 100 przerwan ray ponad sto taktow opoznienia, ale to i tak nie powinno wyjsc okolo 2 -3 s.
Nie używasz magicznego słowa na 'v' w deklaracji zbędnej zmiennej flaga, która zresztą powinna być typu _Bool. Druga wersja kodu, ta działająca, jest nieco zgrabniejsza.
Sugeruje dać pomiędzy instrukcjami: [syntax=vb] Print "ATH" ; Chr(13) ; 'rozłączenie dzwonienia Print "AT" ; Chr(13) ; [/syntax] opóznienie chociażby 20ms
sama pętla for dodaje jeszcze 3 cykle zegarowe, popatrz na liczbę wykonań pętli dla 8MHz zegara pierwsza to 70*3/8000ms + 70*1ms = 26,25µs + 70 ms druga 70000*3/8000ms + 70ms = 26.25ms + 70ms różnica jest ogromna...
Udało mi się odpalić program z książki Pana Wiązani, ale tam timet odmierza 1s Jak to przeliczyć? Jest jakiś na to wzór? Rzeczywiście musiało się 'udac odpalić' bo ten program nie jest pozbawiony błędów (!) \ A jak zrobić żeby odmierzał np 10 sekund? Zmiana preskalera wydłużyła max do 2sekund czas. Aby timer1 odmierzył inne/dowolne interwały czasu,...
SET_E; LCD = ((LCD & 0xF0) | (x & 0xF0)); CLR_E; SET_E; LCD = ((LCD & 0xF0) | (x & 0x0F) << 4); CLR_E; Chyba przekombinowałeś Spróbuj tak: SET_E; LCD=(LCD & 0xF0) | (x >>4); CLR_E; SET_E; LCD=(LCD & 0xF0) | (x & 0x0F); CLR_E; Nie...
a _delay_ms i _delay_us Ci nie wystarcza ? Do opóźnień nie trzeba wykorzystywać koniecznie przerwań timera. Można wykorzystać flagi timera (o ile się da, ale wszystko zależy). Poza tym, zmienna deb w Twoim programie zapewne nie jest volatile, ale wrzuciłeś nam NIC, także pomoc też nijaka
Powód jest bardzo prosty: zmniejszenie zmiennej w pamięci nie jest operacją atomową. Co prawda za każdym razem następuje odczytanie zmiennej, zmniejszenie jej a następnie zapis, to jeśli przerwanie wystąpi pomiędzy odczytem a zapisem, to utracisz zmianę dokonaną w przerwaniu. W przypadku gdy przerwanie i funkcja main konkurują o jeden zasób, musisz...
Nie wiem w jakim środowisku piszesz ale w AVR Studio musisz też podać częstotliwość zegara z jaką układ będzie pracować. Inaczej źle Ci powylicza opóźnienia _delay_ms i _delay_us
Witam. Zainteresował mnie niedawno temat mikrokontrolerów, postanowiłem zacząć naukę programowania. Wybór padł na rodzinę AVR (ze względu na popularność). Na forum wiele osób polecało na początek Assemblera, tak też wybrałem. Przedstawiam jeden z moich pierwszych programów, jest to programowo zrealizowane "dwukanałowe", 8-bitowe PWM. Proszę o ocenę...
(at)ElektrodaBot Mam Atmega8A czy potrafisz przekształcić kod asemblera na język maszynowy i go wytłumaczyć?
Dzień dobry!!!!!!!!!!!! Gdzie mogę znależć wykaz wszystkich pinów do atmega8 )po polsku
Uczę się programować mikrokontrolery z książki Pawła Borkowskiego: "AVR&ARM7. Programowanie mikrokontrolerów dla każdego" . Ćwiczenie, które mam do wykonania, wygląda tak: To ćwiczenie należy do trudnych, gdyż wiedzę konieczną do jego wykonania należy zdobyć samodzielnie. Na rysunku 7.9 widać schemat z podłączoną tylko jedną diodą. Należy układ obsłużyć...
Z mojego doświadczenia z impulsatorami mechanicznymi wystarczą 4 ms opóźnienia.
Witam. Właśnie przymierzam się do wytrawienia płytki. Będzie to interfejs na USB dla czujników. Jeden zwraca wartości analogowo, drugi cyfrowo przez i2c. Interfejs będzie zasilany z USB. Będę wdzięczny za sprawdzenie schematu. Zależy mi na wiarygodnych wynikach pomiarów. Jeśli coś można zrobić lepiej (jakieś dodatkowe kondensatory, lepiej dobrane wartości)...
Witam. Znalazłem w sieci program oraz schemat do arduino. Chciałbym zapytać czy mogę to skomplikować w jakiś sposób abym mógł normalnie zaprogramować atmegę8 przez usbasp. Proszę również o sprawdzenie schematu. http://obrazki.elektroda.pl/8866087900_1... [syntax=c]int motorPin1 = 7; int motorPin2 = 8; int enablePin_1 = 6; int motorPin4...
Witam! Niedawno rozpocząłem swoja przygodę z mikrokontrolerami. Zacząłem od ATmegi8 ponieważ dosyć często słyszałem tę nazwę. Zakupiłem sobie na początek dwie kostki takie kostki zbudowałem programator i... i na początek ustawiając fuse bit'y zawiesiłem obydwa no ale przejrzałem forum i znalazłem odpowiedzi. Udało sie procesor znów żyje. Pierwszy program...
Witam. Potrzebuję pomocy w pisaniu programu do uC atmega8. Jestem początkujący. Dysponuję min: książką o programowaniu w bascom (zielona taka ;p). Szukam osoby, która pomogła by w tym projekcie. Niekoniecznie musi być bascom, może być C lub asm. Pozdrawiam
Witam Na wstępie pragnę zaznaczyć, iż jestem początkującym programistą i przygodę z ATmega zaczynam od zaledwie 24 godzin. Pierwszy układ już złożony, są to diody LED na układzie ATmega8. Po uruchomieniu układu i wgraniu pierwszego programu (co skutkowało zaświeceniem na przemian 2 ledów) postanowiłem troszeczkę zagłębić się w ten prosty projekt. Planuje...
Witam. Zaprojektowałem schemat, wykonałem płytki, polutowałem, napisałem program na bazie innych i nie działa. Poniżej przedstawiam schemat: Zdjęcia należy wklejać tak: http://www.elektroda.pl/rtvforum/topic12... Proszę poprawić. /prezeswal/. O to schematy http://obrazki.elektroda.net/70_12568387... http://obrazki.elektroda.net/74_12568387...
Witam ! Mam pytanie ! Mam zamiar zrobić pierwszy układ z wykorzystaniem atmega 8. ale niestety nie mogę znaleźć nigdzie jakieś prostego układu z kodem i schematem. Prosiłbym o podanie linka. ( czytałem już stronkę mikrokontrolery.blogspot.pl więc nie podawajcie mi tej strony.)
Chcę się nauczyć programowania mikrokontrolerów z rodziny AVR w języku C, a wiadomo że najlepiej nauczyć się tego w praktyce dlatego postanowiłem zrobić płytkę testową z ATmegą 8, jako że moje zdolności elektroniczne są na mizernym poziomie dlatego skompilowałem pare schematów takich płytek w jedną całość i chciałbym aby ktoś sprawdził mój schemat....
Witam, proszę o sprawdzenie schematu i płytki ewaluacyjnej procesora ATMEGA8 pod kątem poprawności działania. P$1-P$4 to wkładana płytka z regulowanym napięciem referencyjnym na wyjściu. Projekt wykonany w programie eagle. Dziękuję za uwagi. http://obrazki.elektroda.pl/6515268200_1... http://obrazki.elektroda.pl/1348179500_1...
Cześć, chciałbym zwrócić się z pytaniem (prawdopodobnie banalnym dla was, dlatego proszę nie odsyłajcie mnie do google - przebrnąłem przez całe...), mianowicie: Próbuje zrobić tester ciągłości przewodu. Wg mojego pomysłu miałoby to wyglądać następująco: PORTD 0x01 ustawiam jako wyjście w stanie wysokim, następnie podłączam je do PORTB 0x01 i jeżeli...
Witam. Ostatnio zainteresowałem się komunikacją uP z innymi urządzeniami i napisałem prosty program do obsługi Atmega 8 - PC( Labview). Problem polega na tym ,że potrafię przesłać ramkę danych ale w jaki sposób zaadresować ją do konkretnego urządzenia ? Myślałem o tym by każdemu urządzeniu nadać jakiś unikatowy adres i przesyłać kolejno ramkę adresu...
http://obrazki.elektroda.pl/7789044100_1... Przedstawiam projekt mini płytki ewaluacyjnej pod mikrokontroler Atmega 8. Płytka jest dość prosta i składa się z następujących elementów: - podstawka pod mikrokontroler (DIP28), - wyprowadzone wszystkie złącza mikrokontrolera (każde po dwa razy), - 8 diod, - 5 przycisków (np. do sterowania:...
Witam. Mam sobie taki problem nad ktorym siedze juz 2 noce. Chciałbym porównac ze sobą zmienną z eepromu i zmienną powstałą w wyniku wycięcia char EEMEM NonVolatileString[3] = "abc"; //inicjacja w epromie char SRAMstring[3]; const unsigned char ciagznakowsram[10] = "abc4567890"; //powiedzmy ze pochodzi z uarta...
Witam, mam taki kod programu, który skleiłem z fragmentów znalezionych w Internecie: Niestety dzieje się tak tylko 34 razy od momentu uruchomienia mikrokontrolera. Dane z terminala: p0p927p1020p1023p1023p1023p1023p1023p102... 1023p1023p1023p1023p1023p1023p1023p1023p... 3p1023p1023p1023p1023p1023p1023p1023pppp...
Witam, jako iż to moja pierwsza konstrukcja prosiłbym o sprawdzenie. nie chce lutować na marne, chciałbym także aby to wyglądało estetycznie więc chciałbym pierw mieć dobry schemat aby nic nie przebudowywać. Płytka ma służyć do obsługi wyświetlacza(modyfikwany i2c) oraz w przyszłości buzera. Odczyt z prędkościomierza i obrotomierza, w przyszłości na...
Strzałeczka! Tak jak w temacie czy mogli byście sprawdzić mi ten schemat. Jest(a raczej będzie) to płytka testowa niestetynie wiedziałem jak podłączyć reset.Przysłuży mi ona w prostych programach typu miganie diodą czy pisanie na ekranie lcd. Z góry dzięki za pomoc. http://obrazki.elektroda.pl/6121021100_1...
Zacznij od tego: funkcja wait i pokrewne PRZESTAŁY ISTNIEĆ. Do opóźnień i odmierzania czasu użyj timera i ogólnie poczytaj o timerach.
Wprowadziłem te wszystkie zmiany, wyeliminowałem pętle WHILE, nadal procesor nie odczytuje wejść podczas wykonywania programu, czy możliwe jest że jest za wolny i wczyta te zmiany ze znacznym opóźnieniem?
bo nie masz wygaszania diodek: if (pomiar < 250) { PORTD |= (0<<PD5);//zapalamy pd5 PORTD &= ~(1<<PD6);//gasimy pd6 } else { PORTD |= (0<<PD6);//zapalamy pd6 PORTD &= ~(1<<PD5);//gasimy pd5 } delay_ms(10); PS. czemu nie używasz biblioteki util/delay.h...
Som 'kwadraty' czyli zasilanie ok. Nic się nie dzieje a potem wszystko znika.... czyli błędy w transmisji: -złe opóźnienia -błędne połączenia Też próbowałem tych programów... napisałem se własne, chcesz podeślę.
Problemem jest to, że właśnie w takim programie jest się ciężko połapać, bo dane nie są czytelne. Jedno co mi się rzuca na pierwszy rzut oka - pętla powinna być symetryczna, a jej 2 pierwsze linijki nie są rozdzielone opóźnieniem...
Przy przełączaniu przetwornika miedzy kanałami dobrze jest odczekać chwilke czasu po zmianie kanału. Wynika to z zaklocen wystepujacych podczas przelaczania multipleksera: jesli przy nowym pomiarze biezacy kanal zostal zmieniony, to przez pewien czas na wejsciu przetwornika wystepuja stany nieustalone. Mozna zrezygnowac z tego opoznienia, jesli pomiary...
Hmm, czy takie coś by się sprawdziło? :D $crystal 1000000 dim 5min as byte Config Timer1 = Timer, Prescale = 1024 On Timer1 Opoznienie On Interrupts Enable Timer1 Load Timer1 = 65535 Opoznienie Load Timer1 = 65535 incr 5min If 5min = 5 Then *********** 5min = 0 End If Return
Już dokładnie nie pamiętam, ale chyba uzywałem bibliotek ze strony: [url=http://www.tinkerer.eu/AVRLib/nRF24... Przesyłanie między dwoma atemgami chodziło bardzo bobrze, sygnały zawsze docierały bez żadnych opóźnień.
Ja praktycznie wszystko co robię z AVRkami to zawsze docelowo jest to w obudowie TQFP albo SMD. Atmega8, ATmega88, ATmega32 - tych to już naprawdę całe mnóstwo przeszło mi w ten sposób przez ręce i nigdy ale to nigdy nie zauważyłem jakichś różnic w programowaniu pomiędzy TQFP/SMD a w obudowie DIP Oczywiście zawsze gdy robię jakiś prototyp to najpierw...
Mozliwe. Ale skoro mam ustawiony PORTD (piny danych wysylanych do wyswietlacza) ustawione na OUT, to jak czytac stany wymuszone na nich przez LCD (status)? Uzywam CodevisionAVR. A co do petli... stosuje je bo w katalogu sa podane minimalne odstepy czasowe miedzy wyzwalaniem odpowiednich stanow na pinach. Wynosza one srednio min. 80ns wiec musialem dac...
Ja puścił program w pętli (samo reset-response) i popatrzył oscyloskopem, w ostateczności zacznij od "spowolnienia" opóźnień do rzędu kilku s i sprawdź woltomierzem czy przebiegi się zgadzają.
Nie wiem co z tym zatruwaniem, mam zegary Nixie działające po 15 lat, nic się nie dzieje, lampy też nie były nowe a z multimetrów. Wyłączaj całkowicie lampy, włączeniem czujnikiem mikrofalowym czy IR z opóźnieniem wyłaczenia
Nie, jest ok. Jeśli wysyłasz 0 to powinno być 0 przez 80 us, jeśli 1 to powinno być 1 przez 80 us. Jak widzisz w obu przypadkach kod opóźnienia jest taki sam, stąd też nie ma potrzeby wykonywania kodu alternatywnego (else).
przycisk opoznienie opoznienie wlaczenia opoznienie zalaczania
minolta kasowanie błędów vaillant ecotec komora spalania przełączanie kanałów zgemma
interfejs lexia bateria parkside
Światła mijania i drogowe świecą razem w Skoda Roomster 2007 1.9 TDI Kompatybilność trzpienia U z wyrzynarkami Makita