zobacz na stronę http://www.avrbeginners.net/ Dobrze udokumentowane przykłady i opis dziania AT90S i ATMEGA Timery,UART,rejestry itp.
Jak np mam kilka innych procedur które zabierają dużo czasu. Np pomiar ds18b20 albo wyświetlanie na LCD a chciałbym je wykonywać co pewien ściśle określony czas.
Timer2 nie ma 'edge detektora', więc na którym zboczu miałby zlicza impulsy? Timery działają, dlaczego miałyby nie działać? Widocznie jakoś producent zrealizował tę możliwość. Rzecz w tym że w tym trybie, wejście dostosowane jest do typowego oscylatora 32,768Hz, więc pozostałe parametry są niezbyt istotne, i mogą się dziać różne rzeczy. ;) Zrobiłem...
kolejny temat, na ktory odpowiedzia jest 'volatile' - bylo o tym milion razy. 4\/3!!
Witaj. 1. Nie znam VMLAB, ale czy prawidłowo definiujesz F_CPU? 2. Czy symulator nie potrzebuje osobnej definicji częstotliwości do prawidłowego określania czasów symulacji? Tak jest w symulatorze w Atmel Studio. 3. Volatile: http://mikrokontrolery.blogspot.com/2011... Posklejałeś ten program z kilku - no ale każdy kiedyś zaczyna...
Dzięki teraz działa wszystko działa
Nie wiem jak w nowych wersjach BASCOM'a, ale w starych nigdy nie użyłem Start timer0 i jakoś wszystko działało. Teraz przerzuciłem się na C, bo lepiej się panuje nad wszystkim. Przeczytaj dokładnie helpa od twojej wersji i co po czym powinno być. Ciężko powiedzieć co się może dziać z BASCOM'em w tej sytuacji, nie widzę błędów (ale dawno nie miałem styczności...
Co 3.88us wywołujesz przerwanie od przepełnienia timera. A przetwarzanie ADC w pętli while trwa 0.12ms- czyli 120us. Czyli podczas tej pętli pojawi się wielokrotnie przerwanie od timera0. A jeśli się pojawi podczas sprawdzania warunków tej pętli to moga się dziać dziwne rzeczy. Jedna instrukcja przy 8Mhz trwa 0.125us. Czyli obsługa przerwania powinna...
...Czyli zumek ma rację... Niestety , zumek nie miał racji , bo błędnie założył (patrząc tylko na fragment w 1-szym poście) , że prescale jest równy 1. Teraz by sie zrehabilitować , bardziej się przyłożył :D Biorąc pod uwagę , że We2 cały czas jest równe 1 , wyliczył że zmienna Czas_otwarcia , zostanie inkrementowana w tej pętelce , 148000 :!: razy...
Ile trwają procedury Measurement_DS18B20() oraz Measurement_SHT11()? Najlepiej pokaż też je. Takie coś się może dziać się w momencie, jeśli przerwanie od timera przychodzi w momencie działania funkcji dtostrf, jeśli uart działa z większą prękością to prawdopodobnie rzadziej trafia w tą funkcję. Najszybciej poprawić to można poprzez wprowadzenie jakiejś...
To na razie wersja robocza więc sporo niedociąnięć, muszę jednak zacząć rezygnować z bascoma. Niby już wszystko było OK, ale gdy tylko w pętli głównej przed wyświetlaniem chciałem zamaskować wynik poleceniem fusing, znów jakieś głupoty zaczęły się dziać. Nie mam już nerwów. $crystal = 8000000 $regfile "m16def.dat" '*********************zmienne***********...
Czy komuś udało się uruchomić prostą obsługę od przepełnienia TIMERA 2 w Atmedze 8. Mi się udało.
Napisz optymalnie program może nawet z asm a przetaktowanie będzie zbyteczne. Tak czy inaczej to ślepa uliczka osobiście pogoniłem 25Mhz jednak potrafiły dziać się dość niezwykłe rzeczy, w moim przypadku na timerach. Albo też zmień procesor.
Timer 1 potrafi działać w trybie CTC tak, że przy zauważeniu równej wartości licznika z rejestrem OCRA może sam zmienić ci stan jednej końcówki procka zwanej OCR na przeciwny. Włącz sobie taki tryb - to wtedy będzie ci to działać automatycznie - czyli bez procedury obsługi przerwania , w pełni sprzętowo. Aby to zrobić zaprogramuj bit COM1A0 czyli TCCR1A|=(1<<6)...
Chodziło mi także o ATmegę 88P, a tam już znajduje się rejestr TCCR0B. Ale do rzeczy. Dzisiaj rano wstałem i zaczęły się dziać jeszcze inne rzeczy. A mianowicie: Gdy ustawię sobie preskaler jakikolwiek w rejestrze TCCR0B to program o dziwo rusza. Ale jeśli dodam funkcję "sei()" to program już nie startuje. Jeśli natomiast zostawię tą funkcję sei(),...
Narazie chciałbym obsłużyć serva tylko na Atmega32 później ewentualnie dodać to co ma się dziać na timerze ICP i wybrać odpowiedniego procka. Ale chciałem zapytać tylko o timer ICP, ponieważ nie chcę zakładać oddzielnego tematu w którym będzie jedno pytanie i odpowiedzi tak lub nie. Jakie jeszcze peryferia będziesz wykorzystywał? Ważne są te, które...
(at)tmf - podejrzewam, że pobór jest całego układu w tym podświetlenia LCD więc może pobierać 0.2A; Hero - czy procek się grzeje? Czy masz watchdog timer wykorzystywany? Czy masz BOD?
A co ma się dziać jak w pętli DO...LOOP jest nic.Jakieś INCR coś.
Witam, to co wykorzystuję: -ATmega16 -4 przyciski PA -LCD - PB -Diody - PD dodatkowa sygnalizacja binarna Do tej pory uruchomiłem układ i dowolnie go modyfikowałem - bez przerwań. Teraz chciałbym wprowadzić wielopoziomowe menu z którego będzie można (w dowolnej chwili) zmienić wykonywaną funkcję czy modyfikować zmienne - czyli bez przerwań się nie obejdzie....
ATMEGA88 jak i ATMEGA168 ma wewnętrzy preskaler sygnału zegarowego który jest domyślnie włączony. ATMEGA 8 go nie ma.
Dziękuję kol niveasoft !!! Działa świetnie!! Config Timer0 = Timer , Prescale = 1 , Timliłoer = 34 - chyba to mnie zmyliło bo czytałem że trzeba na 26kHz timer do odbiornika IR ustawić
Witam. Mam problem z obsługą Timera0 w ATmedze 8, otóż próbuję go uruchomić i zatrzymać za pomocą switchy . Problem w tym że ...] Nic się nie dzieje. Na LCD cały czas jest 0. Ktoś ma jakieś sugestie? Oczywiście, w/g tego programu nic nie powinno się dziać! Może sprecyzuj dokładniej co chcesz. Ile masz tych switchy ? (1 lub 2) Czy start timera ma być...
ldi r16,0xA0 out OCR1AL,r16 ldi r16,0xFF out DDRB,r16 main: rjmp main problem w tym że zmieniasz te stany tylko raz, potem w pętli nie robisz nic... powinno moim zdaneim być main: ldi r16,0xA0 out OCR1AL,r16 ldi r16,0xFF out DDRB,r16 rjmp main edit: ups, nie doczytałem że chcesz wykorzystywać timer... więc nie wiem czy moje rozwiązanie problemu...
W tym kodzie jest błąd: Load Timer0 = 250 jest niepoprawnie zapisane bascom nie krzyczy błędem ale ta składnia nie działa. Powinno być Load Timer0, 250 Ta funkcja ładuje do timera wartość 256-wartość, czyli w twoim wypadku 6.
Przy kompilacji programu w Bascomie nie ma żadnych błędów, natomiast nie generuje się PWM na odpowiednich wyjściach od timera 3. Problem uważam tkwi w tym że w Bascomie nie da się tego zrobić używając timera 3 używając standardowej procedury, tj. PWM3a = Wypełnienie itd. Wówczas komenda ta objawia się tym że nie zmienia koloru na niebiesko a na tych...
Niestety wbudowana w bascoma funkcja do odbioru RC5 może działać tylko na timerze 0 lub 2 (koniecznie musi być to timer 8-bit) lub na timerze 1 (lub 3 - nie wiem czy działa) w trybie ICP. Przejrzyj helpa bascoma pod hasłem Config RC5.
Dziękuje, faktycznie działa. Myślałem że wartość, którą wpisuję do timera on później odlicza, a tu okazuje się, że nie. No cóż...początki. Serdecznie dziękuję.
Wielkie dzięki! O to właśnie chodziło! Pięknie i prosto. Da się, da się no da się odpowiedzieć normalnie? Wszystko działa jak należy piękne dzięki oby więcej takich dobrych ludzi na elektrodzie.
Przepraszam, błąd wystąpił podczas dodawania kodu na forum. Oczywiście w programie jest kropka. Wyrzuciłem z programu fragment: [syntax=c]if(gFlags.pidTimer)[/syntax] Teraz regulacja wywoływana jest cały czas w pętli głównej, niezależnie od przerwań Timera0 i coś zaczęło się dziać. Wejścia zaworów zaczynają reagować na wartości zadane i zmiany zakłuceń....
(at)jareklnx Przez ponad 40-lat pracy z elektroniką, uszkodziłem poprzez ESD tylko jeden układ. Atmega 8, układ ogólnie działa. Da się odczytać i zaprogramować, jednak pobiera za duży prąd i się grzeje. Ponieważ pracuje raczej krótko (timer naświetlarki UV do płytek) to nie zmieniałem na nowy.
Zatrzymywanie timera poprzez wyzerowanie preskalera to normalny sposób jego wyłączenia określony w dokumentacji :) Ok, zgoda. Pomijając przerwanie, pomińmy je. To je pomiń w programie, a nie teoretycznych rozważaniach. Innymi słowy kol. Andrzej__S pokazał Ci gdzie masz podstawowy problem. Zmień więc koncepcję i dopiero gdy ona nie będzie dziać poprawnie...
Wydaj mi sie że brakuje ci polecenia => gate=internal Sprawdź: Config Timer1 = Timer , Gate = internal, Prescale = 1 Enable Interrupts : Enable Timer1 Aha, jeszcze => Start Timer1 hmmm... nie ustaliłeś trybu pracy licznika a instrukcja Load jest dla timera w trybie z automatycznym przeładowaniem
(at)up Sprawdziłem na stronie atmela ,że ten µC ma 32 kB Flashu i już mi nie szkoda tych 2 kB, bo to nie jest dużo. http://mikrokontrolery.blogspot.com/2011... Nie korzystam z Atmel Studio tylko z Eclipse. A i wywaliłem to z pętli głównej. Obliczanie średniego wyniku(z 1024 pomiarów)...
Ok, to już jest bardzo pomocne. Rzeczywiście takie podejście może rozwiązać mój problem. Napisałem część programu według Twojej propozycji, proszę o sprawdzenie, czy to ma sens. [syntax=c]#define F_CPU 8000000UL /*czestotliwosc na 8MHz*/ #include <avr/io.h> /*biblioteka avr*/ #include <string.h> /*biblioteka napisy*/ #include <stdio.h>...
bascom często ma problem z zaawansowanymi trybami pracy przetworników , timerów itp często nie działa to tak jak powinno.
jak miałem kompatybilność z atmega 103 ustawioną to działało na odwrót Timer 1 działał a 3 nie jak w fusebitach zmieniłem to Timer 3 działa a 1 nie...
Bufor zawierający informacje wyświetlane na matrycy to plansza[][]. Mógłbyś mi przybliżyć co oznaczają przerwania timera? A co do kodu to to niestety/stety działa ;p Tylko że diody świecą się słabo.
W tej chwili dodałem do if(kb_key) lcd.backlight(); a do if(timer_nieaktywnosci>CZAS_BRAKU_AKTYWN... lcd.noBacklight(); i DZIAŁA ... a zapomniałe zapytać z czego można wyczyścić dotychczasowy kod żebym czegoś nie sknocił.
może już najwyższy czas poćwiczyć na lepszych prockach i pozostawić poczciwe avr'ki. ten projekt niestety muszę pozostawić na atmedze ze względu, że już mam zamówione płytki pcb i klient czeka. mam tylko ostatnie pytanie. Czy ma ktoś praktyczne doświadczenia z przetaktowywaniem atmegi? kiedyś trochę o tym czytałem że niby to się da. chciałbym pozostawić...
Pojutrze rok szkolny się zacznie to ze szkoły coś wypożyczę, więc nauka pójdzie od przodu, a co może być nie tak, że nadal timer nie działa? Jak zrobiłem tak jak mi tadzik kazał to działał drugi a 0 już nie ;/
Tak, jest bardzo podobna do INT0 lecz tymczasowo ją usunąłem gdy zaczęły mi się dziać takie cuda. Pierwszy raz się z tym spotkałem aby uruchomienie TIMERa2 wywoływało reser uC.
http://obrazki.elektroda.pl/5924959500_1... Witam ponownie! Kilka dni temu chwaliłem się projektem "PALM v1.0 BETA Atmega128", a dziś chciałbym przedstawić komputerek do motoru lub roweru jaki zrealizowałem już jakiś czas temu na zamówienie. Urządzenie miało zastąpić oryginalne psujne, mechaniczne zegary. Funkcje i założenia: *Wyświetlanie...
Mnie się udało odpalić wake-up timer, ale nie potrafie jeszcze kontrolować czasu co jaki RF się budzi. nIRQ działa, w chwili obecnej odbiór danych mam zrealizowany własnie za pomocą przerwań.
A no widzisz. Ja nie mam zwyczaju pytać o cokolwiek producentów bo oni mają zwyczaj sobie olewać takie pytania. No ale szkoda. Inne pamięci szło jakoś wysterować. Nawe SDRAM w roli SRAM się da podłączyć (ATMega ileśtam z wbudowanym sterownikiem RAM. A odświeżanie w przerwaniu Timera ;) niezłe kombinowanie z adresowaniem ale działa). A EDO/FPM są o wiele...
nie do końca... Programowych PWM było trzy kanały i regulowały wszystkie trzy kolory równocześnie. Sprzętowy dodatkowo czopował jeszcze sumę tych trzech PWM programowych. Zrobienie tego wszystkiego na jednym timerze miało na celu prostą synchronizację dzieki czemu niewielka zawartość któregoś z kolorów (małe wypełnienie danego sygnału) nie było gubione,...
Nie denerwuj się. PWM to nie jest żadne rozwiązanie dla krokowców. One potrzebują impulsów, a nie wypełnienia-PWM-Pulse width modulation. PWM jest dla sterowania silnikami DC grzałkami itp. A ty masz silniki krokowe. Nie jestem na tyle dobry w programowaniu żeby ci pomóc. Może inni. Ale o sprzęcie to mam pojęcie. Nie próbuj sterować silnikami krokowymi...
Mam jeszcze pytanie: czemu przy dodanym kondensatorze 470uF atmega po odączeniu zasilania "ścina się" i jak zaraz podłącze zasilanie to nie działa. Włączyłem układ BOD na 1.8 V ale np. jakbym chciał zasilać atmege z 2 V to by była w stanie resetu bo w dokumentacji pisało ,że działa BOD max. do 2.4 V.
Tak patrzę i na moje oko to włączyłeś przerwanie timera, ok ale timerem 1 generujesz pwm i chcesz też używać jego overflow? Do tego wstrzymujesz przerwanie na odczyt z ADC. Mi się to nie podoba. Zostaw timer 1 jako PWM, a weź sobie np timer 2 do generowania przerwania overflow i powinno byc ok.
A skąd wiadomo, że działa akurat na 8kHz? A widzisz sie pomyliłem bo Atmega8A myślałem że on działa na 8MHz a standard to 16MHz wiec w rejestrze (1 << CS10) Timer ustawia 1:1 wiec sygnał może być 16kHZ jak atmega ma 16MHz..
Jeśli myślisz o dalszych efektach- zmianach w programie- to waitms jest rozwiązaniem tymczasowym. Jak najszybciej zacznij się uczyć o timerach i przerwaniach. Dopiero z nimi można sprawić że procesor działa jak Ty chcesz- a nie jak on chce.
Timer w XMEGA ma specjalny tryb QDEC, w którym działa jak dekoder enkodera. Także jest to robione całkowicie sprzętowo i nie ma tu żadnych analogii do ATMega.
#include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> char s[] ="0101011010101010101010101010"... static volatile unsigned int a; SIGNAL (SIG_OVERFLOW1){ TCNT1H = 0xd9; TCNT1L = 0x99; PORTB=s[a++]&0x01; if(a==27)a=0; } int main(void) { DDRB=0xff; TCNT1H...
To fakt, że brakuje czasów martwych czy wyjść komplementarnych, ale te kwestie da się obejść. Natomiast w tej chwili bardziej rozchodzi mi się o kwestie programowe czyli sam algorytm. el2010tmp Piszesz, że atmega ledwo wyrobi się z generowaniem sygnałów. W moim algorytmie to ona praktycznie nic nie robi bo wszystko dzieje się w Timerach, stąd mój wątek...
czyli RS musiałby działać z szybkością co najmniej 1 Mb/s Sprawdziłem organoleptycznie: działa stabilnie przy ciągłym strumieniu przesyłanych danych - przynajmniej na Atmega 168PB. Oczywiście połączenie USART -> USB. Pierwotne pytanie było o pomiar częstotliwości. Podana metoda dwóch timerów jest też dla pomiaru częstotliwości. Jak by Kolega sprawdził...
Zamiast zadawać pytania, poszukaj na nie odpowiedzi w dokumentacji - przeczytaj, jak działa timer w trybie PWM z limitem w ICR1. Ani okresu, ani wypełnienia nie ustawiasz w procentach, a w cyklach zegara. Zmiana jednego nie ma wpływu na drugie.
Dopisz jeszcze tak: Config Timer1 = Timer , Prescale = 1 lub Prescale=8 lub Prescale=64 Domyślnie chyba atmega ma wyłączony dzielnik czyli nie podaje sygnału zegarowego na licznik. A w ogóle działa Ci ten transoptor, program dochodzi do wyświetlania na LCD?
Przejrzałem już chyba wszystko na sieci (łącznie z notą oczywiście) i wszędzie podają taki sposób ustawiania timera: adres 0 <- 4 (lustawiony bit 3 włącza timer) adres 7 <- 0 (zerowanie na wszelki wypadek licznika - tu układ zlicza) adres 8 <- B01000010 (konfiguracja timera) adres 15 <- 10 (zapis odmierzanych 10ciu sekund) Udało mi się zliczyć...
I Atmega działa na 16MHZ No i wszystko jasne :) Jeśli się w obliczeniach nie pomyliłem to Twoje przerwanie wykonuje się z prędkością blisko 80kHz, a programowy timer dzieli to na 50 (taka wartość przekazywana z pętli głównej) więc docelowo twoja dioda miga z PWM w rytmie prawie 1,6kHz... może być trochę ciężko zauważyć to miganie :)
Kurdę no przerwanie jest wywoływane co 310us a to jest bardzoooo wiele cykli zegara na to by mogła się wykonać cała pętla while, cały czas nie rozumiem czemu na atmega 16 działa a na atmega128 nie chce działać :/ sprawdzałem bity ustawiające timer i przerwanie, są one takie same dla mega 16 i 128 więc nie wiem w czym jest problem :( Ten program działa...
BlueDraco tutaj: [syntax=c]if(f>servos[0]) pc |= (1<<0); if(f>servos[1]) pc |= (1<<1); if(f>servos[2]) pc |= (1<<2); if(f>servos[3]) pc |= (1<<3); if(f>servos[4]) pc |= (1<<4); if(f>servos[5]) pc |= (1<<5); if(f>servos[6]) pc |= (1<<6); if(f>servos[7]) pc |= (1<<7); pcc = ~(pc);...
Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); TCCR0 |= (1<<CS01) | (1<<CS02); TIMSK |= (1<<TOIE0); TCNT0 = 131;...
Poboru prądu nie potrafię zmierzyć, gdy próbowałem, ekran przestawał cokolwiek wyświetlać (i tak działa poniżej napięcia nominalnego). AtMega przez większość czasu nic nie robi nawet w czasie jazdy, wchodzi w tryb nieaktywny, a budzą go jedynie przerwania z sensorów, przycisków i timera. Podejrzewam, że największym prądożercą jest ekran, a potem rezystory...
Witam. Mam zestaw opisany jak w temacie. Programator STK200. Pojawił mi się problem który nawet trudno wytłumaczyć. Próbowałem juz nawet z drugim ATmegą i tak samo się dzieje. Nadmienię że do układu dołączam oscyloskop Hamega - sprawny i dokładny. Napisałem program z wykorzystaniem Timera T0 - odmierza zadany czas i zapala diodę po czym przy następnym...
Hejka Podświetlanie już działa na zadany czas ;-) faktycznie znalazłem błąd w kodzie. Jednak teraz gdy załącze podświetlanie i program ma się wykonywać przez dany czas, to nie działa mi pomiar temp z DS18B20. Jak usunę pomiar, to program działa normalnie, wykonuje wszystkie podprogramy. Doszedłem do tego, że przerwanie powoduje, że komenda 1Wreset nie...
zmiany niesą duze wystarczy zmodyfikować podprogramy Przelicz_high: oraz Przelicz_low: zmienić definicje zmiennej wynik oraz wynik_o no i w pętli na koncu zmienić żeby sie powtarzała 16 razy bo ogólnie DFT liczy 2 razy i otrzymujesz z każdego obliczania 16 wyników w podporogramie Przelicz_high: oraz Przelicz_low: odpowiada temu tablica Rex(). tylko...
Pomyśl, jaką wartość będzie miał licznik po zliczeniu 65536 impulsów? Z jakiego powodu uważasz, że Twój program powinien wtedy uznać, że impulsów było 65535? Wydawało mi się, że pomoc, jakiej oczekujesz - to wskazanie błędów w programie. Tymczasem Ty sprzeczasz się, sugerując, że ewidentny błąd, który popełniłeś, błędem nie jest. Nie pokazałeś wersji...
Witam wszystkich. Chciałem podzielić się swoją modyfikacją programu, schematu oraz płytki pcb tego zegarka. Myślałem o stworzeniu nowego tematu, ale stwierdziłem, że lepiej tutaj w odpowiedzi wszystko umieścić (jeśli moderatorzy stwierdzą inaczej, to stworzę nowy temat) Oto co zmieniłem: - dodałem obsługę jednego czujnika DS18B20 - wyeliminowałem problem...
Witam Kolegów. Mam mały problem. W zasadzie mój problem polega na tym, że działa coś co moim zdaniem nie powinno działać. Napisałem prosty kod na obsługę timera w ATmega 32. Prpgramik ma generować na 1-szym pinie PORTA sygnał o określonej częstotliwośći. Kod jest następujący: #include <avr/io.h> main() { DDRA=255; //ustawienie PORTA...
Witam, Jak ustawić bity rejestrów ATMEGA16 za pomocą Baskoma by na wyjściu oc1a oc1b pojawiły się dwa przebiegi, tak by jeden był odwrócony względem drugiego? Jak będzie wówczas działać regulacja wypełniania (tzn. polecenie pwm1a i pwm1b)? Jak ktoś zna jakiś projekt z podobym założeniem to proszę by podał link. $crystal = 16000000 $regfile "m32def.dat"...
http://obrazki.elektroda.pl/5579487800_1... Witam wszystkich. Chciałem podzielić się swoją modyfikacją programu, schematu oraz płytki pcb zegara, który cieszył się sporą popularnością na elektrodzie, dokładnie tutaj: http://www.elektroda.pl/rtvforum/topic44... Oto co zmieniłem: - dodałem obsługę jednego czujnika DS18B20 - wyeliminowałem...
Witam, ostatnio zająłem się pisaniem stosunkowo prostej aplikacji na AVR ATmega8, potrzebnej mi na studia. Na celu miałem też trochę lepsze poznanie AVR. W czym problem : W moim programie chciałem przetestować typowe zachowanie uC, napisałem kilka prostych funkcji, włączyłem przerwania, zrobiłem pętle nieskończoną w której na moim wyświetlaczu 7 segmentowym...
Dzięki za odpowiedzi. Zasilacz mam 7.5V 4A od jakiejś drukarki lub skanera. Napisałem prosty program do testów i wyniki mnie zadziwiły. Program najpierw wysyła na wyświetlacz napis "reset" który świeci się przez 1 sek, a potem program wykonywany jest dalej. Zamiast silnika zamocowałem żaróweczkę, aby pobór prądu był mniejszy. Jeżeli zamieszczę:[syntax=cpp]PORTD...
A specjalnie do tego projektu kupiłem mega32, bo 16 ma za mało pamięci i nawet wywalając całą resztę, zostawiając tylko timer, main-a i dwie funkcje, nie dał się dziad wgrać. Jak już kupiłem 32 to się okazało, że nie działa. Przed zakupem kolejnego AVR może zapytam, czy macie jakieś propozycje kodu, który faktycznie działa do tego, co już posiadam?...
No i trzeba sobie postawic pytanie jak dokladny czas jest potrzebny. W wiekszosci zastosowan nawet ten znieksztacony przez czasy przejscia przez siec jest bardziej niz wystaczajaco dobry. Dokładnie tak. Jak dla mnie czas odebrany przez NTP lub time protocol jest wystarczający. Dodatkowo stopień komplikacji w porównaniu z DCF77 jest mniejszy - DCF 77...
Oddzielam temat od poprzedniego ze względu na inną naturę problemu. Master generuje przerwanie od Timera2 co 1.15ms. Transmisja SPI ustawiona jest na CLK/4 co przy ośmiu bitach daje czas transmisji równy 0.004ms. Co jedno tyknięcie timera wysyłany jest jeden bajt - zatem 0.004ms co 1.15ms. Działa to wszystko pięknie, bez lagów i przepełniania stosu....
Poniżej przesyłam kod [syntax=c] #include Nextion.h #include EEPROM.h #define wejscie 2 #define wyjscie 13 int sensorPin = A1; bool state; int i; int odczyt; int zczytane_cyfry[4]; int liczba; char buffer[10] = {0}; int b,c; int mniej; int wiecej; int ilp; int raz; int znaczek; zmienna mowiaca w jakim trybie pracy dziala wyswietlacz int zz; int sensorValue;...
http://obrazki.elektroda.pl/9733504600_1... DIY stacja meteo, a właściwie stacje, bo naprodukowałem już ich kilka, chyba 10 wersji. Dlaczego stacje? Bo lubię statystyki, poza tym to jedna z tych rzeczy, która może nie jest niezbędna do życia, ale fajnie mieć. Tym bardziej jeśli samemu się skonstruowało. Dlaczego ethernet? Bo wygoda...
Witam, Jestem w trakcie budowy komputera pokładowego na procesorze AtMega8 oraz na wyświetlaczu LCD LS020. Program który tworzę ma zrealizować podstawowe funkcję komputera pokładowego, takie rzeczy jak menu i możliwość nastawienia parametrów odpuszczam a jedynie chcę prawidłowo obsłużyć wejścia i pomiary sygnałów. W trakcie pisania programu natknąłem...
Witam. Ostatnio zainteresował mnie pomiar natężenia światła, potrzebuję go do wykonania projektu. Pomiar dokonuje czujnikiem TSL235R, który podaje mi odpowiedź w formie częstotliwości. Chciałbym aby ktoś przyjrzał się temu co narazie wklepałem do kompilatora, bo nie jestem pewien, czy wszystko będzie grało? Może zacznę od kodu, wtedy zadam pytania itp....
dziać timer timer dziać szybka atmega zrobię timer
piszczenie dysku twardego at90s2313 zamiennik przesunięcia bitowe
karta graficzna karta graficzna
Renault Thalia: który pin w złączce to światło stopu? Diody Zenera w zasilaczu BN44-00807H - jakie wartości?