Na nie możesz policzyć? Chyba że nie wiesz jak :D Masz 8MHz. A przerwanie przychodzi z częstotliwością 125Hz (dlatego trzeba 125 razy odliczyć aby wyszła 1 sekunda). Preskaler Timera 256. 8000000/256/125 = 250. I dlatego jest Load Timer0 = 250 Teraz chcesz kwarca 7372800. Więc musisz tak kombinować aby uzyskać jakąś sensowną liczbę przerwań i sensowny...
Musisz zastosować przerwania. Poczytaj o przerwaniu np INT0. Ustaw na reakcję zboczem opadającym. Sygnał który chcesz odebrać daj na któreś z wejść INTn np na INT0, a w obsłudze przerwania robisz co chcesz. Wtedy nie stracisz żadnych sygnałów .
1) tak 2) tak 3) nie wiem o co chodzi ;) 4) Wszystko jest w datasheecie ladnie opisane, mozesz tez sciagnac sobie program avrcalc jak nie chce ci sie samemu liczyc ;)
nie zagłebiajac sie w kod, wydaje mi sie ze to jest ten delay_ms. ma prawo wystepowac cos takiego ze siedzisz w delay'u to juz sie zmienil czas ale minie spory kawałek sekundy zanim odswiezysz wyswietlacz.. na test usun delay'a, jak pomoze to zrob to czekanie na timerze
Chodzi o to, że po pierwszym przerwaniu TCNT1 będzie miał wartość 0, czyli zliczy potem 65536 impulsów. Zaś do generowania, jak Ty chcesz, przerwań co określony odcinek czasu służy tryb CTC. Wtedy w rejestrze OCR ustawiasz ilość impulsów, które chcesz zliczyć, i wygenerować odpowiednie przerwanie.
W zasadzie to jest jeszcze nieco bardziej skomplikowane. Można ustawić jakiś tryb CTC-albo od ICR albo od COMP- i po osiągnięciu tej wartości licznik się wyzeruje. Ale jeśli się wyzeruje np. po osiągnięciu wartości wpisanej w ICR to jeśli wartość wpisana w COMP będzie mniejsza niż w ICR to też wygeneruje żądanie obsługi przerwania w TIFR. Jeśli na to...
Jak masz ustawione taktowanie i czy diody zmieniają stan dokładnie co 2 sekundy?
if(++sek == 60) podobno można zrobić and-em szyciej. Czekam na rozwiązanie Rozpatrywanie takiego czegoś jest co najmniej niepoważne. Taka konstrukcja w C może być skompilowana na pewnie kilkanaście różnych sposobów w zależności od deklaracji zmiennych, poziomu optymalizacji, użytego kompilatora, ilości wypitej kawy, pogody itd. I każdy będzie działał...
Zrobiłem zegarek na Atmega32 przy kwarcu 8MHz. na dobę przyspieszał 5 do 7 sekund:-)
Tak jak radził asembler - zrób w pętli głównej procedurę przemiatania tak, aby każdy z segmentów przełączał się co sekundę. Wtedy "na oko" stwierdzisz co jest nie tak.
tmf ->No tak, ale to wymaga (dla tej częstotliwości próbkowania) 8000 tys razy w ciągu sekundy ustawienia bitu w rejestrze. Ale liniowość pomiaru za to będzie lepsza.
Sprawdzę to juto rano. Wyłączę przerwania przed inicjalizacją. Na dwie sekundy mam ustawiony w atmega32 odpalam wotchdoga identycznie i działa bez problemu.
Witam Na początek to //Porty: PC0(SCL) PC1(SDA) -> wejścia TWI DDRC =0b11111110; PORTC =0b11111101; skoro porty PC0(SCL) PC1(SDA) to wejścia TWI , ja bym je ustawił tak //Porty: PC0(SCL) PC1(SDA) -> wejścia TWI // 1 -> wyjście // 0 -> wejście DDRC =0b11111100; // 1 -> z podciągnięciem do VCC (pull-up) // 0 ->...
Może najpierw adc, a potem po konwersji rzucanie tego na ekran? Może zastosowanie cls i lcd od nowej linijki cos pomorze. Po bascomie można się wszystkiego spodziewać :) Napis jest odświeżany co sekundę?? Jeśli tak to powinno mignąć tylko na ułamek sekundy.
żartujesz chyba. Dokładność 1% dla ADC w ATmega to tak w sam raz, a Ty marudzisz o 0.5%. Do wyświetlania nie ma sensu pobierać nowego odczytu częściej niż 2..3 razy na sekundę.
nie - bariera jest rozstawiona teraz na powiedzmy około 6 cm od siebie. Wydaje mi się, że jest to problem z timerem, ale wg mojej oceny prawidłowo go zadeklarowałem. Dodam, iż kwarc mam 11.0592MHz. Preskaler 256. Przerwanie timera co 1 sekundę.
A jak wpiszesz opóźnienie 2 sekundy/1 sekundę to działa dobrze ?
Ojojojoj myślałem że ustawiłem na kwarc 16 lub 8 MHz. Dodano po 40 JAK TO COFNĄĆ???
Program dla Atmegi jest prawidłowy, muszą to być usterki sprzętowe, może zamienione RX/TX miejscami Dodano po 23 Program dla Atmegi jest prawidłowy, muszą to być usterki sprzętowe, może zamienione RX/TX miejscami
U mnie podobne programowanie Atmega32 trwa około 4 do 5 sekund. Sprawdź zworkę SlowSCK
Zainteresuj się kondensatorami goldcap podtrzymującymi napięcie. Mają one pojemność do kilku F (FARADÓW) i trzymają napięcie kilka sekund.
Witam, Mam taki problem. Chcę wysyłać do PC informację w formie takiego temp1;temp2;f1;temp3 i coś jeszcze. Jak wysyłam informację to chcę żeby ona była raz wyświetlana powiedzmy co ok 1-2s a nie tak jak na screenach pod kodem. (to jest losowe). Co może być nie tak. Timera2 używam jako odmierzacz czasu a timer0 do pomiaru częstotliwości (na 555) $regfile...
Licznik moze i ma duze mozliwosci zliczania, ale ja zawsze stosuje częstrze wywołania niz co sekunde, jesli chce go zastosować do zegarka - metoda na 100% sprawdzona, i jak masz dobry kwarc to gubi tylko pare sekund tygodniowo :)
Mam sterownik na ATMega32 który co sekundę odświerza pamięć danych zdefiniowanej na wewnętrznym EEPROM. Robi to tak czesto ponieważ dane są potrzebne do startu sytemu po każdorazowym wyłaczeniu sterownika. Moment kiedy strownik zostanie wyłaczony nigdy nie jest znany więc tak często musi po prostu być. Ile razy w ciągu swojego zycia pamięc może być...
Mam problem z atmegą 32. przy poleceniu WAIT 1 procek opużnia zamiast o 1 sekunde o około 8 sekund. mam kwarc 16 Mhz i kondensatory 33pF. Nie mam pojęcia co moze być .Próbowałem chyba wszystkiego.Prosze o pomoc na adres: Vitek71(at)wp.pl za pomoc z góry dziekuje. PILNE
Moim zdaniem jest to kepski pomysł. Ew. drgania styków wywołują serię przerwań, dzięki czemu procesor niepotrzebnie jest zajęty. IMHO lepiej to robić na zasadzie poolingu z przerwania timera. Wtedy cały program działa w sposób bardziej deterministyczny. A tak nie będzie procesor zajęty ? To dopiero będzie masakra. No chyba że będziesz odpytywać raz...
ja tam widzę plik "V2.5\Debug\LiveLight Firmware.hex", który jest "wsadem" do uProcesora. Dodano po 33 się spóźniłem ;-)
C jest 220pF a R=1k Ohm. Tylko właśnie, co to znaczy, podłaczyć wyjście do XTAL1? Przyłożyć koncówkę wyjścia do nóżki XTAL1 atmegi? na ile mam ją przyłożyć, na kilka sekund?
Bedzie mi potrzebne i 40kHz i pojedyncze sekundy. Pozdrawiam!
ale to co działa na starym PCB nie działa na nowym pomimo poprawności wszystkich połączeń. Na LCD 4x20 mam same kratki a program nie reaguje na klawisze. no to go trzeba uruchomić, oscyloskop masz? jaki procek używasz teraz? masz kwarc? działa? Dodano po 51 Napisz na priv i podaj nr telefonu to zadzwonię i pogadamy.
Niestety nie dało to poprawy - zwiększyłem do 128 ( takich wartości używam dla kart SD ). Zastanawiam się, czy przerwanie INT1 co sekundę od PCF8563 nie przeszkadza ?
Na początku żeby zestawić komunikację użyłem programu Terminal do wysyłania zapytań. Spędziłem nad tym sporo czasu ale sterownik w końcu wysłał odpowiedź. Później napisałem krótki program na ATmega32 który co 5 sekund wysyła zapytanie i odczytuje odpowiedź dowolnej temperatury. Nie odczytywałem jeszcze parametrów ale jak sterownik już odpowiada to kwestia...
Ja tam uznaję za benchmark ilość obiegów pętli głównej na sekundę, podawane transmisją szeregową... ;)
J3 nie jest zwarte więc układ jest zasilany z zewnątrz? Matko :( ale MASY MUSISZ POŁĄCZYĆ - tak OCZYWISTYCH rzeczy nawet się nie pisze w instrukcjach, bo każdy kto zaczyna nawet elektronikę powinien o tym wiedzieć tak samo jak np o tym żeby nie skakać z dachu wieżowca bo można się zabić. Dodano po 46 Czyli rozumiem że wszystkie wyjścia GDD z programatora...
OCR1A=((częstotliwość procesora)/preskaler)-4 Nie to minus jeden to dlatego ze zlicza od zera. od zera do pieciu jest 6 dlatego minus 1 czyli dla 4 sekund mnożysz przez 4.
I2creceive 69 , W2 to polecenie odbiera jeden bajt z urządzenia Slave o adresie 69. Jeśli chcesz pobrać od razu dwa bajty spróbuj albo: I2creceive 69, temp(1) , 0 , 2 wtedy w temp(1) powinna być wartość 1 bajtu a w temp(2) drugiego (oczywiście wcześniej musisz zadeklarować tablicę temp()) innym wyjściem jest I2cstart I2cwbyte 69 I2crbyte W, ack I2crbyte...
Po raz kolejny podziwiam wykonanie płytki, gratuluję :) I od razu pytanie. Próbowałeś taktować uC zewnętrznym kwarcem? Bo z tego co pamiętam teorię (sam niestety nigdy nie kopnąłem się w 4 litery żeby w końcu zrobić układzik z ekranikiem) to niestety taktowanie w atmedze jest wąskim gardłem jak chodzi o ilość klatek na sekundę ...
Mam problem z termometrem DS18B20. Zasilany trzema przewodami. Podciągnięty do Vcc przez 4,7k. Mikrokontroler ATMega32 - 8 mHz. Odczyt co sekunda. Prawidłowy. Wszystko działa. Aż do czasu. W ciągu 4 miesięcy już trzy razy awaria. Błędny odczyt. Grzanie kontrolera i nagrzanie czujnika chyba powyżej 100 stopni (poparzone palce). Po wyłączeniu i ostygnięciu...
Witam 10 bitów to 1024 kombinacji - chcąc mieć dokładność 0.1 stopnia daje to rozpiętość 102.4 stopnia w idealnym przypadku dopasowania napięć a skoro chcesz zakres od -35 stopni celcjusza zobacz jaką wtedy pt1000 będzie miał rezystancję - daj ją w szereg z czujnikiem (niekoniecznie przy nim ale tak żeby przepływał przez nie ten sam prąd co przez czujnik)...
Możesz programowo rozwiązać generowanie PWM Dodano po 28 Zależy jaka częstotliwość cię interesuje
Witam. Wybacz ale chce mi się rozpisywać. Ustawianie 1 sekundy dla zegara 16MHz [syntax=c] OCR1A = 0x3D08; TCCR1B |= (1 << WGM12); // Mode 4, CTC on OCR1A TIMSK1 |= (1 << OCIE1A); //Set interrupt on compare match TCCR1B |= (1 << CS12) | (1 << CS10); // set prescaler to 1024 and start the timer[/syntax] to co wychodzi z prescalera...
Może opisz dokładnie co chcesz osiągnąć, a wtedy podpowiemy rozwiązanie. Potrzebny jest mi blok kodu wykonywany co najmniej 16 tys razy na sekundę z dość dużą dokładnością.
No to obydwa kontaktrony podepnij do pinów INTx, a później rób takie coś: 1)wyzeruj zmienną x i y odpowiedzialną za aktualny stan zliczonych impulsów z wejśc INT0 i INT1 (obydwa kontaktrony), wyzeruj timer0 2)załącz timer 0 aby odmierzał czas 10 sekund 3)poczekaj aż timer odmierzy czas, w międzyczasie są zliczane impulsy z wejść INTx 4)po odmierzeniu...
Witam :) Próbuje odpalić tryb CTC na Atmega8-przerwanie co 5ms i nie mogę sobie poradzić pomimo czytania PDF.Mało rzeczy robiłem na przerwaniach a jeśli już to na Atmega32 gdzie korzystałem z tego: Przerwanie co 5ms więc mam 1 sekundę. ATMEGA32: [syntax=c] TCCR0 |= (1<<WGM01); tryb CTC TCCR0 |= (1<<CS02)|(1<<CS00); preskaler = 1024...
dla Fzeg = 8MHz i 9600b/s UBRR = 51 . sprawdź czy tyle Ci wylicza. Nie wiem czy dobrze odczytuje to wartość UBRR, ale zrobiłem to w ten sposób: PORTB=MYUBRR; Następnie przeliczam sobie wartość z binarnych na dziesiętne. Problem w tym ze wychodzą jakieś głupoty bo UBRR=98 z czego wynikałoby, że proc nie ma 8MHZ tylko jakieś nietypowe 15 z hakiem jeśli...
Witam, ile prądu może pobierać karta micro SD? To zależy od producenta i częstotliwości z jaką karta pracuje. Poniżej info. z przykładowej noty katalogowej. Natężenie pobierane przez układy wewnętrzne karty: max 10uA Natężenie w trybie "Stand By" (clock stop): max 0,6mA Natężenie w trakcie odczyt/zapis przy 25MHz: 15-25mA Natężenie w trakcie odczyt/zapis...
Właśnie poczytałem o układzie Darlingtona i wszytko już jest jasne. Dostałem taką informacje od prowadzącego, podał też dokładny model tranzystora ale zapomniałem :) i będę musiał jeszcze raz dowiedzieć. Dodano po 40 Maksymalna f to 1kHz
1. W jakim języku piszesz? 2. Kalkuluje się to tak: Masz kwarc 16 000 000 Hz (16 MHz) i dajesz sobie jeden z dopuszczonych prescalerów, np. 64 i wtedy timer zlicza Ci impulsy z częstotliwością 16 000 000 / 64 = 250 000 Hz, czyli jeden impuls timera to 4*10^-6 s lub inaczej aby odmierzyć 1s musisz zliczyć 250 000 impulsów, Jako, że Timer0 jest 8 bitowy...
http://www.elektroda.pl/rtvforum/topic20... Tylko to jest C Dodano po 51 Jak chcesz kod to pisz
Prawidłowo opracowany i oprogramowany układ z ATMega32, lub ATXMega32 i z zewnętrznym ADC potrafi pokazać przebiekgi do ponad 500kHz i wyświetlać je 30 - 60 razy na sekundę. Przykłady takich opracowań są dostępne w sieci.
Dzieki xury za uwagę. Ale nie rozumiem co rozumiesz "aby podprogram sie konczyl" return nie wystarczy? Dodano po 53 ....Moze uzyc polecenia "CALL"
Wait 3 to jest bascomowa komenda? Czyli taki _delay_ms() ? :) Odczekanie trzech sekund, tak? W sumie zapomnialem napisać, że programuje w C.
Mnie tak zastanawia - skoro wszystko tzn twoja karta SD oraz ENC jest na 3,3V to czemu nie zasilisz i procka tym napięciem - odpadnie ci buforowanie w ogóle. Dodano po 26 a zamiast MAX232 użyjesz MAX3232
No dobrze, ale jaka dokładność ma być. 1 minuta, 1 godzina, 1 sekunda? Jaki używasz zegar do odmierzana czasu, czy to jakiś PCF?
Rzeczywiście na oscyloskopie z przeliczenia częstotliwość wynosi około 100Hz... Dodano po 41 Posiadam dwa silniki, także wykorzystuje licznik T0 i T1 ...
2 sekundy szukania :) http://obrazki.elektroda.pl/2848482000_1...
Witam Mam taki mały problem zbudowałem uradzenie składające się z 2 mikroelektronik ale, mam problem i nie mam pojęcia co może być przyczyną. Atmega8 wysyła impulsy PWM do ATmegi32, Atmega32 ma za zadanie w ciągu 1 sekundy zliczać impulsy z 8, wartość PWM jest regulowana i gdy 8 jest zasilana z całkowicie innego źródła np programator, wszystko jest...
Odłączenie resetu nic nie zmienia ciągle sie zawiesza lub resetuje. Resetuje lub zawiesza sie również gdy szybko wyjmuje i wkładam wtyczkę do kontaktu choć bateria jest podłączona lub jej w ogóle nie ma. Kondensator filtrujący trzyma przecież ok 5 sekund. Czy może być uszkodzony mikrokontroler?
A czy jak ustawie końcówkę portu na wejście to mogę w jakiś sposób zdefiniować czy wejście to ma być podciągane czy nie? Dodano po 21 Jeśli tak to w jaki sposób?
Witam, podłączyłem sobie wyświetlacz od Siemensa S65 do ATmegi taktowanej kwarcem 16MHz. Sposób podłączenia i program wziąłem z tej stronki: http://www.superkranz.de/christian/S65_D... Sporo się namęczyłem, żeby wyświetlacz w ogóle ruszył, ale w końcu udało mi się. Tyle, że wyczyszczenie całego ekranu jednym kolorem zajmuje ok....
Tak, programator jest moją przejściówką. Chcę wejść w tryb AT aby jeden moduł ustawić w tryb Master. Dioda miga co dwie sekundy, więc według opisu w sieci to aktywny jest tryb AT
Wielokrotnie wałkowane. W przerwaniu wrzuciłeś transmisje I2C, CLS, obsługę LCD i inne bzdety. Wydłub to i wstaw do pętli głównej programu. W przerwaniu ustaw tylko sobie jakiś bajt/flagę że coś się stało. Teraz obsługa przerwania zajmuje dłużej niż czas pomiędzy przerwaniami. To się musi sypać. Z PCFa możesz też wyciągnąć sygnał zegarowy (skonfiguruj...
Dodaj dyrektywę End po ostatnim D=0; A ja bym spytał o ile sekund/minut kod by się mylił po doliczeniu do 1000 ;)
Tylko uśrednienie wyników coś da tak jak kolega napisał. Tylko zastanawiam się nad tym czasem. Ja zacząłbym od uśredniania tych wynikow w czasie 15 sekund. Według mnie to powinno wystarczyc. Jeśli wystąpią większe wahania to wydłużyć ten czas. Tak na marginesie jaki to będzie czujnik? Bedzie pokazywać ilość paliwa w litrach czy tylko będzie się jakiś...
Ale jeśli mniejsze, to już po 1 takcie zliczania powinno wyskoczyć z przerwania a tak nie jest. Taktowanie timera to 16MHz/1024 = 15625Hz. Pojemność timera to 256, więc przerwanie pojawia się z częstotliwością 15625/256 = ~61Hz. Aby uzyskać opóźnienie ok. 1 sekundy przerwanie musi pojawić się 61 razy i dopiero za 62 zapalić lub zgasić diodę. I tak...
Witam. Ja mam pytanie dotyczące wyświetlania czasu na lcd. Chodzi mi konkretnie o to czy wyświetlając jednocześnie czas i zmiany temperatury sekundy wyświetlają Ci się płynnie na lcd ? Ja w moim projekcie mam z nimi problem. Bo gdy wrzucę do procka obsługę tylko zegara to czas leci płynnie, gdy natomiast wrzucę obsługę czasu i temp. wtedy sekundy lecą...
Dało by się. Polecam program ISP Programmer (już niestety nie rozwijany ale i port LPT też już w nowych sprzętach rzadko się pojawia)- za jego pomocą dało się programować AT89S52 (czyli troszkę lepsze 8051-a właściwie 8052 z Atmela). Inną kwestią, że 8051 i jego krewni to w porównaniu do AVRów słabizna obliczeniowa. AVRy są to mikrokontrolery RISCowe...
To może dobrym pomysłem byłoby podzielić ten wyświetlacz na 4 części, każda byłaby matrycą 10x10? Możesz podzielić sobie jak chcesz, aby tylko było Ci wygodnie to oprogramować. W związku z tym, że drivery są 16 lub 8bitowe to ja zrobiłbym wyświetlacz jako 10x40 i po prostu drugą połowę umieścił pod pierwsza wtedy wyszedłby właśnie wyświetlacz 20x20....
Spojrzałem w ten kod i niestety jest tam o wiele więcej problemów. Typowy kod początkującego, ale OK - każdy kiedyś zaczynał i pisał takie potworki ;-) Co można naprawić? Już Ci to mówili w innym wątku: przede wszystkim wywalić czasochłonne operacje z przerwania. W ISR ustawiasz tylko flagę, a w pętli głównej sprawdzasz jej stan i, jeśli zachodzi warunek,...
Do dcf dopięty jest generator, który informuje mnie o następnej sekundzie. Co do zasilania to było by to raczej bardzo dziwne bo dzieje się to tylko między 20 a 30 sekundą, :( i co najgorsza nie zawsze.
transmisja z kompem jest na przerwaniach, szybkość 9600 bodów, temperaturę odczytuje co sekundę ds..y nie są na przerwaniach.
Próbowałem użyć T2, przerwanie np. co 1ms, ale to powodowało reset co kilka sekund, nie wiem dlaczego :/ Dlatego też nie zwiększyłem częstotliwości przerwań od T1.
Myślę że to powinno być tak: Po wciśnięciu przycisku program nie robi nic, tylko odlicza 3 sekundy, po czym przechodzi w tryb przyciemniania/rozjaśniania. Jeśli przycisk zostanie puszczony wcześniej niż 3 sekundy to program zauważa puszczony przycisk i automatycznie ustawia stan 0 lub 255.
http://www.sparkfun.com/datasheets/Compo... strona 4 i 5. Na 5 masz jak ustawić rejestr konfiguracyjny, a na 4 masz wspomniane, że najstarszy bit z rejestru sekund (0x00) powinien być po każdym zaniku zasilania wyzerowany.
Jest jeszcze jedna dziwna sprawa, której nie rozumiem. Na początku funkcji main, zapalam sobie diody, żeby widzieć start programu. dałem delay 1000ms ale w rzeczywistości diody palą się prawie 10 sekund. Zatem skoro skonfigurowane na 8 MHz ( a masz prawie 10 razy dłuższy czas więc jednak musisz mieć zegar 1MHz. Sprawdź poprawność ustawienia fuse bitów....
Hej dzięki za sporo konstruktywnej krytyki. Z góry sory ze wrzuciłem tak układ bo na nim jeszcze jest wylana masa której tu nie widać wiec Ew. braki mas to to. Pozdrawiam Dodano po 58 Wtyczka isp zle podłączona
A tak np przydałoby się to na mniejsze uc Dodano po 11 A tak np przydałoby się to na mniejsze uc
Ja takie zeczy miałem w zawodowce 20 lat temu. Dodano po 1 Na kierunku monter aparatury rtv. Praktykę zdobyłem w zuricie. Dodano po 34 Na kierunku monter aparatury rtv. Praktykę zdobyłem w zuricie.
Jak napisac funkcje w AVR dla ATMEGA32 w jezyku C, aby mozliwe było przechwycenie przerwania spowodowanego impulsem zewnetrznym w liczniku TIMER0?? Gdyż dla TIMER 1 ustawia sie bit TICIE1 w rejestrze TIMSK, a dla TIMER0 nie ma tam żadnego takiego bitu?? Jak to zrobić?? A drugie pytanko, czy jest mozliwość uzyskania 1 sekundy na TIMER0??? Dzieki za pomoc!!
hah, myslisz, ze dalczego uzylem "skrypt" w cudzyslowiu? Zdaje sobie z tego sprawe, uwierz ;p Wlasnie napisalem taki, ktory uzywa: _delay_ms(1000) //sekunda. Ale jest dosc mocno nie dokladny :d
Witam, można to zrobić np tak: podpinasz kwarc zegarkowy, ustawiasz odpowiednio timer, który zlicza ci sekundy (albo milisekundy, to zależy jak skonfigurujesz timer) i w pętli wyświetlasz to na LCD, proste :D
Sekundę można odliczać na timerze1 (16-bit)... Już gdzieś na forum pisałem ale niech będzie... Tryb fast pwm, ICR1 jako TOP równe 62499... Prescaler na 64 i włączone przerwanie OVF... Będzie wywoływane co sekundę... oczywiście dokładność nie będzie rewelacyjna...
Wykonałem połączyłem tą zworkę, ale nadal nie ma komunikacji. Jedyne co się zmieniło to czas oczekiwania na odpowiedź; wcześniej dostawałem ją niemal natychmiast, a teraz muszę czekać 2-3 sekundy zanim dostanę ten komunikat z błędem więc podejrzewam że tryb wolnego programowania był włączony.
Oto screeen z mkAVR z konfiguracją dla mojej atmegi: http://obrazki.elektroda.pl/7229968500_1... Tylko wydaje mi się jakby procesor nie pracował z częstotliwością 16mhz. Bo gdy napisałem program, który powinien gasić i zapalać diode co 1s (waitms 1000, toggle PortD.0) to dioda zapalała się i gasiła co 2 sekundy zamiast pożądanej jednej. Dlaczego?
Faktycznie masz racje jednostki mi się pomyliły :), ale tło macie wysokie w Twoim rejonie.Projekt fajny dodaj do niego zliczanie impulsów na sekundę (pomiar skażenia powierzchniowego) i będzie niezły projekt.
No właśnie dość sporo... ale to cena użycia ENC28J60 to dość prądożerna gadzina... Myślałeś może o użyciu przekaźników bistabilnych? One trochę komplikują zabawę, ale potrzebują zasilania tyko przez ułamek sekundy, trzeba tylko dobrze przemyśleć jak moduł ma się zachować po zaniku napięcia.
kiedy , np. wartość ADC wynosi 256 to cały czas skacze ona z 256 na 257, potem znowu 256 itd... To że przetwornik dla pewnych napięć skacze o swoją jednostkę nie jest jakieś tragiczne bo to oznacza że zakłócenia mają amplitudę mniejszą niż jego rozdzielczość. Sedno problemu jest w tym że ADC ma akurat rozdzielczość 2,5mV a TMP ma 10mV/stopień i jeśli...
3 sekundy to za dużo. Odświeżanie wyniku co 3 sekundy nie będzie za bardzo wyglądało. Już lepiej co 1,2s i mnożyć x50. Otrzymamy rozdzielczość 50 i wynik w obr/min.
LCD nie jest wpięty nawet do mikrokontrolera. Podświetlenie gaśnie zaraz po załączeniu. Atmega32. Zdjęcie: https://drive.google.com/file/d/1aRRR3Q6...
Nie stosuj wait'a, tylko sprawdzaj czy ostatnia_sekunda_jaka_byla jest różna od obecna_sekunda ;-) Jak tak -> refresh ;-) Łukasz.
W ogóle ten plik nagłówkowy nie jest potrzebny (io2313.h). wystarczy avr/io.h :> Dodano po 34 PS dodajesz na siłę nagłówek z 90s2313 a używasz M32.
teraz jak widać 2 sekundy - manipuluję wartością przepełnień zmiennej Licznik_sd - pomiędzy 58000 a 60000 Załadowanie wartości 6 do Timer2 powinno się odbyć tylko na początku ? Config Timer2 = Timer , Prescale = 64 ' 1 sekunda = 500 Timer2 = 6 On Timer2 Czas '250 x 8us = 2 ms , 256 - 250 = 6 Enable Interrupts Enable Timer2 Z Atmega32 nie miałem takich...
Może ja wyjaśnię jaśniej. Generujesz przerwanie od timera np. co 800ms, czy 1s. I w przerwaniu wykonujesz operacje: 1. Odczyt temperatury do zmiennej 2. Komenda Convert_T Odpowiadając na Twoje pytanie - 750ms to MINIMALNY czas między CONVERT_T a odczytem (dla 12-bit). Więc odczyt po 1, 2, 3600 sekundach po CONVERT_T nie jest błędem. Dzięki takiej metodzie...
http://xion.org.pl/files/texts/mgt/html/... http://pl.wikibooks.org/wiki/C/Preproces... Kilka sekund szukania w google.
Żeby nie zapomnieć na końcu to już tutaj napiszę, że liczy się to w programach bo one się rzadziej mylą, ale zrozumienie tematu jest oczywiście ważne. Jest kilka, a w pełni darmowych, kalkulatorów do tego. Timer jest urządzeniem sprzętowym wbudowanym w mikrokontroler. Najczęsciej taktowany jest w taki sposób, że sygnał zegarowy taktujący mikrokontroler...
temat zamykam, miałem średniki w #define przepraszam za taki spam głupi (to wynik zmęczenia) Dodano po 48 wiem własnie się zorientowałem, dzięki za zainteresowanie
tadzik85 napisał: Za dużo..... Niech wezmie pod uwage któryś z kolei pomiar jak się ustabilizuje. Pozatem tak się nie mierzy napięcia zasilania. Mierz wewn napięcie referencyjne wzgledem Vcc i wtedy nie potrzebujesz żadnych dzielników. Atmega32 mierzy napięcie akumulatora Li-ion z którego jest zasilana poprzez MCP1603 3,3V. Gratuluje pomysłu..... Dodano...
Tryb fast PWM działa w ten sposób, że licznik zaczyna zliczać od 0 do wartości 255 (w przypadku licznika 8 bitowego), przy każdym takcie zegara oprócz zwiększenia wartości licznika porównuje tę wartość z wartością rejestru OCR, jeżeli wartości są równe to neguje przypisane wyjście jednego z portów. Co z tego wynika - licznik zawsze zlicza w pełnym zakresie...
Tu masz program pod ATtiny2313, jeśli potrafisz programować, to też potrafisz przerobić program na ATMegę: [syntax=basic4gl]' Bardzo prosty zegar bez możliwości ustawiania Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit Config Portb = 255 : Portb = &B255...
Witam Niestety nie ruszyły, MAX podpięty jako pierwszy wyświetla "12345678" przez 3 sekundy i gaśnie ( przez 3 sekundy co 3 sekundy ) , na drugim świecą same "ósemki" i kropki. Zmiana kolejności podłączenia MAX'ów nic nie daje. Próbowałem też na Attiny84 i Atmega32, też to samo.
setne sekundy timer sekundy sekundy wiadomości
pioneer mikrofon ustawić projektor telefonu kluczyk passat przycisk otwierać
zderzak naprawa zderzak naprawa
Oznaki uszkodzonej sondy w bojlerze Ariston Pro1 Eco 120V Jak zdjąć obudowę sokowirówki Zelmer 377 Julita?