Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka z Arduino. Temat oczywiście nie zastąpi w pełni czytania noty...
Witam, Potrzebuję porady dotyczącej zastosowania timerów w aplikacjach pisanych pod linuxem. Generalnie zajmuję się programowaniem mikrokontrolerów bez systemu operacyjnego gdzie mam dużą elastyczność pomiaru upływu czasu i oczekiwania na minięcie danego czasu. Teraz muszę podobną funkcjonalność uzyskać pod linuxem na systemie wbudowanym. Mam proces,...
witam przegrzebałem już pół internetu i nie mogę znaleźć odpowiedzi dlaczego nie działa mi przerwanie z timera, programuje w eclipse timer inicjuję tak: //--------------------------------------... void TIMER0_Init(int czas_us) //Aktywacja Timera próbkującego { unsigned int val, dummy; pPITC->PITC_PIMR = ~(AT91C_PITC_PITEN...
20947443 Ktoś podsunął mi pomysł rozwiązania - będę testował tylko dorwę przekaźnik 12V (może być najtańszy samochodowy). Wszystko zamykasz w puszcze centralki wiec rozwiązanie bezpieczne jak sabotaż obudowy... rozwiązanie wydaje się banalne w swojej prostocie. Jak to zrobić dla trybu nocnego dla strefy S1 lub S1+S2 : - przekaźnik podpinasz na wyjściu...
podobnue jak wyżej, Nr kroku jako int, po spełnieniu warunków wykonaj cos i jednocześnie załącz nastepny krok. Czesto przy projektowaniu robi sie skoki co 10 zeby mieć rezerwy na potem. Dodatkowo niekiedy widuje sie załączanie timera kroku. Oprócz spełnienia warunków musi odliczyć sie timer.
Więc w czym rzecz? Podpinasz równolegle do przycisków sterujących styki timera. Timer musi mieć te 2 złącza sterowane osobnymi programami czasowymi. Ale dla bezpieczenstwa powinieneś dorzucić jeszcze przekaźnik na przewodzie zasilającym (właściwie dwa szeregowo , na każdy kierunek z timera po jednym) którego styki odpinałyby fazę od przycisku na czas...
a mozna wprowadzic jeden watek a reszta czesc programu zeby sobie leciala czy musza byc wtedy dwa watki? Wątek to odgałęzienie programu, który działa niezależnie od rodzica (który stworzył wątek). Komunikacja między wątkami.. i inne sprawy... to szeroki temat. Jeśli programowanie tyczy mikrokontrolera - wykorzystaj timer.
Witam Posiadam Timer Technics SH-4060. 1. Podstawowym problemem w tym timerze jest to, że wyświetlacz słabo świeci. Pewnie już się zużył. Mam pytanie, czy oprócz wymiany wyświetlacza (raczej nie wchodzi to w rachubę :) ), można jakoś polepszyć jego świecenie?? Wyświetlacz (żarzenie) jest bezpośrednio podłączony do transformatorka - napięcie zmienne...
Robię właśnie prosty timer do naświetlarki UV, którą fizycznie już poskładałem. Ponieważ projekt ma być niskobudżetowy, nie planuję timerów z programowaniem i wyświetlaczem LCD, wystarczy mi taki oto schemat (tak mi się przynajmniej wydaje): (avt-2225) Oczywiście mam w domu worek elementów, w tym 90% z odzysku, stąd pytanie: czy będzie tu odpowiedni...
Napisałem przykładowy program z timerem LI, nastawy ON i OFF nastawiane z klawiatury, dwie pierwsze linie wyświetlacza to nastawy, dwie następne, czas bieżący timera.
Pierwsza rzecz - Timer2 jest 8-bitowy a nie szesnasto jak Timer1. Czyli jego pojemność to 2^8=256. Bierzemy maksymalny prescaler 1024. Otrzymujemy częstotliwość 15625 czyli timer będzie się przepełniał około 61 razy na sekundę. Wcześniej tą częstotliwość zwiększaliśmy, a teraz chcemy zmniejszyć. Najprościej to zrobić tworząc sobie ulotną globalną zmienną...
Witam, Mam pewien problem dotyczący licznika Timer1 w procesorze TINY45. Programuję w BASCOM. Procesor TINY45 posiada 2 liczniki 8-bitowe: TimerO oraz Timer1. Problem w tym, że nie bardzo mi się udaje zmusić Timer1 do działania... Napisałem taki prosty program na próbę: $regfile = "attiny45.dat" $crystal = 8000000 Config Pinb.3 = Output Led...
Witam! Mam problem z jednoczesnym użyciem Timera1 i funkcji RC5 która jak wiadomo dziął na Timerze0 (kod napisany na ATTINY2313) Jeśli rozdzielę kod na dwa czyli: 1. Wykorzystuje timer1 do sterowania serwem - wszystko działa (bez funkcji pilota na RC5) 2. Jeśli zaprogramuje attiny2313 aby używało tylko funkcji RC5 (pilota) i przy okazji korzystam z...
Chyba mój algorytm jest do bani :(. Chyba tu masz zupełną rację. Po piersze: Czy na prawdę taktujesz processor rezonatorem 20 MHz włącznie ze odpowiedno zaprogramowanymi fuse bitami? Jeżeli tak to praktycznie nie masz możliwości skonfigurowania timera0 aby nim odmierzyc 8 ms pomijajac reszte błędnych rachunków. Nawet przy prescalerze 1024 nie będzie...
Witam, Jestem na etapie tworzenia kodu programu sterującego układem nadążnym typu solar track. Wykonałem już całą mechanikę systemu oraz fizyczną warstwę układu sterującego (obwód drukowany z wszystkimi elementami). Układ sterować ma mostkiem H (silnik DC) oraz podawać trzy sygnały sterujące do zewnętrznego sterownika silnika skokowego (CLK, DIR, EN)....
Witam. CZy jest ktos kto jest dobrze obeznany w obsludze przerwan z poziomu BASCOMA. Procek Atmega8 Otoz moj problem polega na konflikcie tych dwoch przerwan. Timer1 obsluguje mi odliczanie czasu np 100ms. tzn po nastawionym czasie zalacza sie przekaznik poprzez podanie syg wysokiego na tranzystor.i ustawiana jest flaga zalczenia Timer0 sluzy do podawania...
Witam, zaprogramowałem Attiny 2313 w bascomie tak aby co sekundę gasła i zaświecała się dioda led podpięta do PORTD.6. Ustawiłem obsługę przerwań, konfigurację TIMERA1 podzieliłem go przez 64. Oscylator procesora jest ustawiony w FUSEBITS na wewnętrzny 4Mhz ( 100010:int. RC Osc. 4 Mhz; Start-up time: 14 CK + 65 ms; Config Portb = &B11111111 Portb =...
[syntax=c]mam jeszcze pytanie czy ten kod może źle pracować z atmega 8a-pu [syntax=c]|Program "analizator widma akustycznego 20*2 - V2" kompilator bascom 1.11.9.0 | '|Autor: HUNTERHOUSE(Adam Kędzierski) i częciowo MANEKINEN(Paweł Kisielewski) | '| data: 02.08.2009 | '| | '| info: | '| www: | '| wszelkie modyfikacje dozwolone, publikujšc należy zachować...
Wkleje plik includowany z obsługa LCD, który stosuje oraz czesc programu głownego: LCS.asm: ;=======================================... ; Obsluga LCD zgodnego z HD44780 dla 8-bitowej szyny danych v1.0 ; Nie obsluguje BUSY flag ani odczytu adresu z LCD ;!!! Znak lub komenda do wyslania do LCD przekazywane sa przez...
Witam, Postanowiłem tutaj napisać, ponieważ mam problem z timerem1. Napisałem program zgodny z algorytmem, który umieściłem poniżej (układ ma zliczać impulsy na wejściu, następnie je uśredniać, a wynik wyświetlać). Póki co testuje go na ISISie i jedyne co pojawia mi się na wirtualnym wyświetlaczu to wynik -1. Tak jak wspomniałem w pierwszym zdaniu,...
Dzień dobry, Trenuję programowanie i natrafiłem na mały lecz bardzo irytujący problem. Po krótce ma działać tak: ustawiony jest Timer0 na generowanie przerwania co 1ms (kwarc 8Mhz, preskaler 64, TCNT0=131), z tym jest wszystko okej. W przerwaniu dodany jest kod który zlicza 20 tyknięć timera i ustawia flagę: FLAGA_CZAS , która ma odblokować kod znajdujący...
Witam, Mam mały problem z programem z książki o programowaniu ATmega8 i ARM7 Pawła Borkowskiego tj. cw. 2 z lekcji o przerwaniach. Treść ćwiczenia to takie obsłużenie diód podłączonych do PC0, PC2 i PC4, aby PC4 świeciło po załączeniu przycisku, PC2 ma się zaświecić po 1,5 sekundzie przy wykorzystaniu timera1, a PC1 ma się zaświecić po 170ms przy wykorzystaniu...
Ależ się męczysz z tym timerem... :) Poczytaj [url=]tutaj o timerze 2, tutaj [url=]o obsłudze wyjść, oraz [url=]tutaj o obsłudze wejść cyfrowych bo po jakiego grzyba masz stosować zewnętrzne obwody RC... Powodzonka :)
Witam, Piszę program do atmega8 i mam problem z ustawieniem Timer1. Dopiero zaczynam programować więc proszę o wyrozumiałość. Chciałbym ustawić tak timer1 aby zaczął liczyć czas od pojawienia się na portd.3 pierwszego impulsu do drugiego impulsu, zapisał wartość do zmiennej, wyzerował się i zaczął zliczać czas od drugiego do trzeciego impulsu zapisał...
To był tylko przykład. Przydaje się wtedy kiedy nie możesz użyc pinu podległego Timerowi. W dodatku w tym przerwaniu możesz mieć trzy piny trzykolorowej diody RGB i zmieniając wypełnienie poszczególnych kanałów na jednym timerze mieć kolorki :) Nikogo nie przekonuję do swoich racji tylko pokazuję możliwości. Przykładowy kod ze strony [syntax=basic4gl]'*************...
Witam chciałbym aby ktoś biegły w znajomości programowania Arduino popatrzył na kod i powiedział co i jak , jestem laikiem w programowaniu więc proszę o wyrozumiałość . Program jest napisany dla Arduino Uno r3 wyświetlacz 2.4 tft ili9431, ds3231 zegar czasu , oraz kontaktron na pinie A0. Ma to być licznik rowerowy "do rozbudowy " a mianowicie ma pokazywać...
Jestem obecnie w trakcie nauki programowania AVR-ów w języku C. Jednocześnie składam w kawałki kod, który mam zamiar wykorzystać w moim pierwszym, poważniejszym projekcie z tej dziedziny. W tej chwili jednak pojawiła się pewna wątpliwość, której nie rozwiała lektura kilku tutoriali. Mianowicie w jednym miejscu muszę zmierzyć czas, jaki upłynął od ostatniej...
Witam, próbuje wykonać prosty odtwarzacz midi w oparciu o mikrokontroler atmega8535. Bazując na przykładach z internetu udało mi się temat jakoś wstępnie ogarnąć. Niestety na atmedze nie uruchamia mi się zegar o który oparte mają być programy. Wszystko jakby "wisi". Dodam że programuję w C w środowisku Code Vision AVR. W celu zlokalizowania problemu...
Nie wiem z czym masz dokładnie problem, ale bawiąc się kiedyś w asm napisałem program zmieniający wypełnienie na PB1 (OC1A) w zależności od wartości odczytanej z przetwornika A/C. Może okaże się Tobie pomocny: #include "m8def.inc" .def acc = r16 .def result = r17 rjmp RESET ; Reset Handler reti ;EXT_INT0 ; IRQ0 Handler reti ;EXT_INT1 ; IRQ1...
Witam Po krotce omówię problemik z jakim się borykam: Uczę się oczywiście programowania AVR w C, napisałem prosty programik, który ma spełniać role BARDZO UBOGIEGO zegarka. problem polega na tym, ze nie wiem dokładnie jaka wartością mam nadpisać rejestr TCNT1 aby przerwanie wystąpiło dokładnie co 0.1s. Powinienem uwzględnić czasy wykonywania kodu zawartego...
Witam ponieważ w programie będe używał polecenia CONFIG SERVOS co powoduje iż Timer0 jest zajęty przez tę komendę potrzebuje zamienić wykorzystany wcześniej timer0 do przerwań na timer1 aby timer0 był wolny do sterowania serwem. Pozamieniałem w programie komendy timer0 na timer1 odpaliłem układ w symulatorze i nie działa. Dopiero uczę się programować...
Witam. Programuję w AVR Studio-Gcc ATMege 16 i muszę wykoszystać Timer1. Potrzebuję żeby liczył on od 0 do max (65535?) z jak największą częstotliwością, np z częstotliwością procesora (preskaler na 1? czy w ogóle się go nie ustawia). I co jakiś czas będę potrzebował odczytywać jego wartość i zapisywać do zmiennej/tablicy (nie potrzebuje używać tutaj...
Podczas programowania układu natrafiłem na problem dotyczący sterowaniem PWM przy pomowy wewnętrznego timera. Port wyjściowy timera steruje kluczem tranzystorowym do którego podłączony jest wentylator 12V. Oto moja funkcja ustawiająca rejestry timera. void pwm() { //OC1A as output DDRB |= _BV(PB1); //PWM Phase, frequency correct...
Podczas programowania układu natrafiłem na problem dotyczący sterowaniem PWM przy pomowy wewnętrznego timera. Port wyjściowy timera steruje kluczem tranzystorowym do którego podłączony jest wentylator 12V. Oto moja funkcja ustawiająca rejestry timera. void pwm() { //OC1A as output DDRB |= _BV(PB1); //PWM Phase, frequency correct...
Witam szanownych kolegów! Piszę mając nadzieję, że ktoś pomoże mi rozwiązać mój problem z którym borykam się już któryś dzień :( Otóż programuję w Bascomie Atmegę 644pa-pu do komunikacji po UART z modemem ZTE2639AT. Mam problem ze sprawdzaniem siły sygnału GSM. Otóż chciałbym przy pomocy przerwania od timera0 wykonywać takie sprawdzanie a jego wynik...
Męczę się od kilku godzin nad uruchomieniem timera1, ma on za zadanie migać diodą led (0.5Hz). Arduino jest zamontowane na płytce stykowej, zasilane i programowane z USBasp, do pinu 9 jest podłączona dioda led i rezystor. [syntax=c]void setup() { pinMode(9, OUTPUT); noInterrupts(); TCCR1B |= (1 << WGM12) | (1 << CS12) | (1 << CS10);...
Zapis twojego programu jest strasznie nieczytelny. Nie jest to jakas krytka, czy czepianie sie z mojej stony. Poprostu w pszyszlosci kiedy powrocisz do tego programu to za nic nie polapiesz sie o co chodzi. Oto gotowy program po przerobce: $crystal 11059200 '12000000 Config Timer0 = Timer , Mode = 2 , Gate = Internal Load Timer0 , 240 '250 set tcon.0...
te instrukcje zerują bit w rejestrze ok. wielkie dzięki ale czytając książki na temat programowania tego ustrojstwa atmega było napisane że wystąpienie przerwania w trybie przechwytywania następuje w skutek wykrycia zmiany sygnału na wejściu icp1 gdy timer ustawiony jest w tryb przechwytywania ale mam teraz pytanie (problem)?-brak weny twórczej to kilka...
Koledzy potrzebuję pomocy, siedzę cały dzień nad programem i nie mogę sobie poradzić. Chodzi o to aby program działał tak jak ten który napisałem, tylko potrzebuję dopisać do niego procedurę kodowania zmiennych A i B. Konkretnie chodzi mi o to aby np po wciśnięciu przycisku SW i SW1 przez około 5 sekund, żeby program skoczył do podprogramu np PROGRAMUJ,...
Witam jestem początkujący w tej dziedzinie a otrzymałem zadanie złozone z 2 członów a mianowicie mam napisac program naciskam przycisk dioda sie zapala naciskam znów dioda gaśnie naciskam ten sam przycisk i go trzymam to diody sie zapalaja po kolei wykonałem płytke i na mikro. atmega 8 wykonałem równiez te programy tylko sek w tym ze sa w osobnych kodach...
Dodałem sredniki na koncach i teraz bledy wygladaja tak: pic32-gcc (GCC) 3.4.4 Microchip MPLAB C Compiler for PIC32 MCUs v1.11(A)-20100504 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling C:...
Witam, to mój pierwszy post na forum, więc na wstępie chciałbym się przywitać :) Uczę się programować mikrokontrolery AVR, korzystam obecnie z ATmegi88. Z uwagi na mniejszą popularność mojego mikroprocka korzystam z poradników dla ATmegi8. Mam problem z obsługą przerwań Timera. Podpinam dwie diody, obie mają za zadanie zapalać się co 1 sekundę - jedna...
Ja do tej pory programowałem tylko AVRy Atmela ale z tego co czytałem to PICe też mają rozbudowane Timery sprzętowe. Musisz wziąć notę katalogową w ręce - zaczytać dobrze o konfiguracji timerów i odrazu ci się rozjaśni. Jeśli chodzi o C to nie pomogę ci bo ja z kolei wszystko piszę w asemblerze. Aby użyć timera sprzętowego z procka nie potrzeba żadnego...
Szanowni koledzy nabyłem ostatnio timer. Udało mi się go uruchomić po zlutowaniu pękniętej płytki i "zagadał". Niestety panel przedni został bardzo skutecznie zamalowany srebrolem i nie ma opisu przycisków. Próbowałem wciaskać poszczególne klawisze, ale nie udaje mi się nastawić zegara - myslę że od tego należałoby rozpocząć. Czy moglibyście załączyć...
Próbuję napisać program do dyplomu w C (kompilator Keil uVision3) na 89C430 i niestety stanąłem w martwym punkcie. Ponieważ nie programowałem wcześniej tych mikrokontrolerów, chciałem zacząć od najprostszych rzeczy jak generowanie fali prostokątnej na pinie, zabawa z timerami i przerwaniami itp. Niestety mimo że są to proste zagadnienia, to procek odmawia...
Tak, mam na mysli VC++ express, bo jest darmowe. Programowanie na komputery PC wychodziło mi całkiem nieźle, ale, jak już mój przedmówca stwierdził, nie ma nic wspólnego z uC. Dodano po 8 Obecność symulatora nie jest bez znaczenia, bo juz zdążyłem docenić jego obecnośc w środowisku Bascom. Przeraża mnie to, że uczyłem się c++, wydałem pieniądze na naukę,...
Witam. Nie jestem zbyt biegły w programowaniu, więc zwracam się z prośbą o zmodyfikowanie kodu do naświetlarki z projektu [url=www.mirley.firlej.org/timer_fotogra... Chciałbym żeby usunąć z programu tryb podgląd i przycisk wywołujący go, a dodać trzy przyciski do których po dłuższym przyciśnięciu mógłbym zapisać czasy naświetlania. Krótkie...
Witam Potrzebuję na jakimś prostym Attiny np 13,25,45 zrobić układ który będzie realizował założenia takie: - dwa przyciski podłączone pod różne porty - dwa oddzielne porty z wyjściem PWM W momencie przyciśnięcia i trzymania przycisku 1 na wyjściu 1 jakiś tam sygnał PWM (jeszcze do ustalenia w drodze prób i błędów) po naciśnięciu przycisku 2 na wyjściu...
Witam! Programuję w BascomieAVR układ ATmega32 do obsługi węwnętrznego zegara RTC oraz miltipleksacji sześciu wyświetlaczy. Chciałem się zapytać czy dokładność wewnętrznego zegara RTC (kwarc 32.768kHz), który uruchamiam komendą: Config Clock = Soft, zależy od przerwań TIMER0, które odpowiedzialne są za multipleksację wyświetlaczy?? Rozumiem, że jeżeli...
jezyk C++ borland builder mam blad linkera wiec wystarczy to #include <vcl.h> a jesli caly kod to prosze //--- kompilować z borlndmm.dll cc3250mt.dll bcbsmp50.bpl ----------- //----RS_07.cpp------------- #include <vcl.h> #pragma hdrstop #include "RS_07.h" #pragma package(smart_init) #pragma link "CSPIN" #pragma...
Witam! Mam problem. Zacznijmy od początku: Używam, programatora ISP STK200/300, którym programuje ATMEGA8. Wszystko było dobrze - kilkadziesiąt razy przeprogramowywałem procka -dopóki nie wpadłem na genialny pomysł żeby zmienić fusebity. Zrobiłem wszystko tak jak pisało w jakims turtorialu z neta (przy użyciu WinAvr) i od tej pory nie da sie programować...
Witam Ucze sie programować mikrokontrolery, używam Vmlab'a i Winavr. Mikrokontroler to atmega16. Napotkałem następujący błąd: Program teoretycznie powinien dodawać do wyświetlacza co 300ms nowy znak. Wszystko jest ok dopóki nie włącze Timera. Jeżeli go uruchomię to znaki zamiast się dodawać zaczynają się nadpisywać (pojawia się tylko jeden znak na 1...
ATTiny programuje w Bascomie. W innych napisanych programach nie było problemu z programowaniem, aż do momentu tego programiku który wykorzystuje TIMER0. (dlatego zwaliłem całą winę na TIMER0). FUSE-bitów wogóle nie ruszałem, a odłączenie diody led też nic nie daje. Bascom wyświetla komunikat, że nie może zidentyfikować układu. A przy próbie kasownia...
Witam. To tej pory nie stosowałem zbyt często timerów do generowania przerwań celem generowania odcinków czasu. Być może dlatego żyłem w słodkiej nieświadomości pewnych komplikacji będących nie bez wpływu na dokładność odmierzanych odcinków czasu. Do tej pory wydawało mi się, że dla danego rezonatora kwarcowego wystarczy: 1. Obliczyć czas trwania pojedynczego...
tak, pomógł mi ten punkt 2, :). Właśnie na tym mi zależało najbardziej. Do tej pory nie bawiłem się w takie rzeczy. Dopiero egzamin z programowania mikrokontrolerów zmusił mnie do tego. Dziękuję za pomoc :D Dodano po 8 Mam jeszcze taki problem: O co chodzi z Przerwaniami Timer0, Timer1, INT0? Proszę o pomoc ;)
Witam, od kilku dni próbuje zrobić regulator trzech diod led PWM na ATMEGA88 (programator AVRASP). Timer1 (wyjścia PB1, PB2) działa bez zarzutu, ale już Timer2 (PB3) nie daje znaku życia. Próbowałem już wszystkich kombinacji z ustawieniami, rejestrami, bitami, trybami, podłączeniem diod, zmianą procesora (na ten sam typ) odłączaniem ukladu od programatora...
Jest możliwe aby przy kwarcu 16Mghz i prescaler1 Timer1wysyłał na portd.0 impulsy o szerokości 100us ? Timer1 nie wyśle żadnych impulsów na pin PD0. Można natomiast tak ustawić timer, by generował przerwanie co określony czas, a w nim odpowiednio sterować pinem PD0. I pytanie: Od kiedy programujesz w BASCOM?
TMF - "W XMEGA timer też jest dwukierunkowy. Problem się pojawia tylko przy rozszerzeniu do 32-bitów, bo event system transmituje wyłącznie zdarzenia overflow, ale nie underflow - nie steruje kierunkiem drugiego timera " Tak to jest ten problem . Ja programuje hobbystycznie więc moje możliwości są ograniczone wiedzą ale z tego co wiem to nie da się...
Witam! Mam Prośbę do kolegi Przemka, czy jest szansa na otrzymanie kodu żródłowego twojego programu??? Dopiero zaczynam swoją przygodę z programowaniem i chciałbym podpatrzeć jak rozwiązałes jeden z problemów, który właśnie mnie dopadł, a mianowicie jak rowiązałeś wysyłanie poszczególnych bitów na d0 - d7 zakładając, że każdy znich jest właczany i wyłączany...
Jestem początkującym w programowaniu mikrokontrolerów , próbuje zrobic licznik obrotów/min wynik ma być wyświetlany na dwóch wyświetlaczach led7 seg. wyjście z portów steruje cd4543 a ten układ na darlingtony uln2003 z nich lcd. Dlaczego tak ? Ponieważ docelowo maja być duże wyświetlacze led. Problem polega na tym że w Bascomie nie wiem jak wyswietlić...
Witam, jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony cel i jak wogóle się najlepiej za to zabrać) w przetransformowaniu...
Witam Chciałem wykorzystać Timer0 do tego aby dioda migała z określoną częstotliwością (co 1 s). Nie wiem co robie źle bo dioda cały czas świeci . Oto kod, którym programuje procesor : #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include<avr/interrupt.h> volatile unsigned int i; int main(void) {...
Jestem doświadczony w programowaniu tych ich AVR, potrafię sobie radzić.. Nie chcę tu oceniać kolegi doświadczenia (dlatego to co dalej napiszę to nie do ciebie), ale niestety takie pisanie programów gdzie wykorzystuje się zapisy o których mowa wyżej, np: rejestr = 0b10000; czy np: rejestr = 0x0a; rejestr = 0xfd; (takich przykładów i złych nawyków...
"debounce" i "delay" A cóż to za magiczna funkcja "Config KBD"? Wszystko zależy od tego jak skonstruowane są bloki debounce. Jeżeli na zwykłych delay to leżysz. Jeżeli na timerach programowych - nie musisz się o nic obawiać. Niestety jest to tylko i wyłącznie gdybanie - nie zaprezentowałeś choćby odrobiny kodu, nie wiadomo jak podchodzisz do programowania....
Witam, trafiłem na problem podczas programowania, konkretnie nie udaje mi się uruchomić multipleksowania w przerwaniu. Kod się kompiluje, ładuje do µC ale nie chce działać. Siedzę nad tym od czwartku, robiłem to na podstawie sporej liczby projektów. [syntax=c]#define __AVR_ATtiny2313__ #define F_CPU 1000000UL // wewnetrzny oscylator 8MHz podzielony...
Witam wszystkich. Problem na pierwszy rzut oka wydaje sie błachy, ale spotkałem sie z bardzo dziwnym zachowaniem mikrokontrolera. Chodzi tu programowanie jego peryferii a mianowicie o timer 32bitowy. Co chciałem zrobić: Chciałem uruchomic timer z czestotliwoscia równą częstotliwości PCLK. Po odpowiednim skonfigurowaniu pętli PLL i odpowiednich rejestrów...
No to ok. ale dla niezbyt ogarnietego w programowaniu ani chociaz jak to zrobic czlowieka to niezbyt przyjazne. lecz jezeli pomoze ktos to wszystko ogarnac to stawiam piwo. Dodano po 2 Więc tak, poczytałem trochę i wnioskuję iż potrzebował bym: Kompletny zestaw alarmowy do mieszkania, małego sklepu lub biura. Zestaw zawiera: 1/ Centrala alarmowa DSC...
Dzięki za odpowiedzi, już wszystko rozumiem, lecz mam kolejny problem, w kodzie źródłowym do procesora autor nie napisał obsługi dmuchawy CO lecz wyprowadzenia są już zrobione. Czy mógłby ktoś pomóc mi dopisać do tego kodu obsługę dmuchawy, najlepiej żeby się ją włączało w menu i pracowała do określonej temperatury. Jeśli temperatura spadnie poniżej...
Witam! Na wstępie chciałem powiedzieć że postanowiłem się przerzucić z Arduino na coś ambitniejszego więc postanowiłem nauczyć się programowania mikrokontrolerów w czystym C. Program ciągle wybija błąd. Nie wiem co robie źle. Proszę o pomoc w lokalizacji błędu. Zawartość konsoli: [syntax=text]'Building target: Blink with timer.elf' 'Invoking: AVR C...
Prezentuje poniżej program by przedstawić sedno sprawy. Mianowicie jest to generato tylko jest coś z częstotliwością nie tak: Częstotliwość przebiegu na wyjściu PB.0 powinna być: 8000000/8=1000000 1000000/65536 = 15,2 15,2/2 = 7,6 (no bo 1Hz to przejście z jednego stanu do drugiego) Niestet częstotliwość wyjściowa w żeczywistości wychodzi 1Hz dlaczego?...
Kolega porosil mnie kiedys abym zrobil mu taki troche udziwnionyy timer. Jak juz zaczalem robic to dosc mocno go rozbudowalem. Nie jest to projekt efektowny, ale za to bardzo funkcjonalny. Budowa: ATMEGA8L, przkaznik bistabilny, bateria litowa 3V cr3022, +pare elementow dyskretnych. Zasialnie : beztransforamtorowe , 220VAC Interfjes: RS232 5V, musi...
Drodzy koledzy, Programując uC ATTINY13 natknąłem się na pewien problem związany z obsługą przerwania od czasomierza. Poniżej krótko co program mniej więcej ma robić. Do jednego z wejść mikrokontrolera doprowadzony jest sygnał. Pojawiają się tam impulsy o różnej długości i na dodatek w różnych odstepach czasu. Zadaniem programu ma być wygenerowanie...
No to jakaś niekonsekwencja jest w twoich zapytaniach. Najpierw zadajesz pytanie z zakresu "przedszkola elektronicznego", a potem wspominasz "coś" o samodzielnym programowaniu mikroprocesora:?::?: Gdzie tu logika ?? Takie nieprecyzyjne pytania moim zdaniem tylko zaśmiecają niepotrzebnie "elke". Jeżeli chcesz uzyskać pomoc, to opisz dokładnie i precyzyjnie,...
Jezeli dopiero zaczynasz i wybor mikrokontrolera byl przypadkowy to polecam avry atmela, jest ksiazka dolinskiego z ktorej mozna sie troszki nauczyc i cos w rodzaju kursu na stronie dzial publikacje potem klik w nauke programowania w C
Siemka! To może spróbuj odmierzyć czas przy pomocy dostępnych w mikrokontrolerze timerów. W Bascomie robi się to stosunkowo prosto. Poszukaj w helpie komend obsługujących timery i w paru linijkach kodu na pewno rozwiążesz ten problem. Pozdrawiam! :)
Witam dziękuje za podpowiedz to prawda ściągnąłem wersje Avr Help jest tam dużo ciekawych rzeczy z tym że mam kompilator Bascom 8051 wersje demo kod żródłowy nie daje się z kompilować wersja nie generuje tak dużego kodu wynikowego wyświetla mi błąd Error alows 2048 bytes of code only in file Czy jest większa wersja demo dla procków z serii 8051 czy...
Witam Mam problem z przerwaniami na LPC-2124. Staram sie zrobic przerwania na timerze (przerwania IRQ wektoryzowane) Mimo odpowiednich ustawien VICIntEnable, VICVectAddr0, VICVectCntl0 przerwanie zostaje zgloszone ale procesor nie wchodzi w obsluge przerwania tylko skacze gdzies pod jakis adres (nie wiem jaki bo nie debugowalem) i procek zawiesza sie....
Mam kolejny problem, tym razem przy ćwiczeniu z eepromem. Napisałem taki program: $eeprom Data 135 , 163 , 255 , 241 , 136 , 255 , 191 , 255 , 140 , 192 , 193 , 199 , 255 , 255 Dim R1 As Byte , R2 As Byte , R3 As Byte , R4 As Byte Dim Licznik As Byte Dim Ktorywysw As Byte Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd =...
Drodzy urzytkownicy, To moje początki w programowaniu contollerów. Chciałbym zaprogramować timer na ATmega8. Proste logiczne programy udało mi się już napisać. Moim następnym zadaniem jest zaprogramowanie timera z licznikiem, niestety na początek mam problemy nie wiem jak zaprogramować timer. Czy ktoś mógłby mi w tym pomóc. Algorytm mojego programu...
Programator mam stk200, dokładnie taki --> do tego soft - ponyprog2000, ale czy mogę go spowolnić ? Nie wiem. Podłacz kwarca bezpośrednio do nóżek XTAL1 i XTAL2, bez żadnych kondensatorów. Albo zrób generator sygnału prostokątnego 30...200kHz i podłącz go do nóżki XTLA1. Programator będziesz musiał nieźle spowolnić (poniżej 7kHz). I wtedy uda się zaprogramować...
ok. Więc mam kolejne pytania, a mianowicie czy uruchomienie zew. kwarcu spowoduje bardziej precyzyjne odliczanie czasu i jak ustawić te fusbity. Wiem że na temat fusbitów jest dużo na forum, ale również jest dużo postów typu " ustawiłem fusbity i nie mogę zaprogramować", więc się trochę boię bo nigdy tego nie robiłem. Naturalnie! Dokladnosc wewnetrznego...
Sorry zwracam honor w pośpiechu pomyliło mi się z timerem. Tu są te linki do symulacji
kolego ZbeeGin, mógł byś mi przesłać na maila tego helpa, z którego zamieściłeś zdjęcia? Nie. Nie wyślę Tobie tego helpa. albo jakiś link do niego? Helpy są na stronie MCS Electronics. miałem na myśli polskiego helpa (tego z którego były screeny) ale skoro to takie ważne dla ciebie to nie ma sprawy, poradzę sobie bez nich. Gdzieś na forum przeczytałem...
Witam !!! ISR(TIMER1_COMPA_vect) // przerwanie dla porownania { PORTC ^= 0x01; // zapalic/zgasic diode ICR1=28798; } int main(void) { DDRC |= 0x01; // INICJALIZACJA LICZNIKA 1 TCNT1 = 0x0000; // wartosc poczatkowa TCCR1A = 0x0000; // OC1A/OC1B odlaczone // zwykly tryb pracy //TCCR1A |= (1 << COM1A0); TCCR1B...
Obliczenia są prawidłowe. Nie podajesz kodu ani nawet języka w którym programujesz. Podejrzewam jednak , że nie ustawiasz wartości do której liczy Timer, tylko od której do przepełnienia. Jeśli moje podejrzenia są słuszne, to zmiana z 62500 na 65536-62500=3036 powinna Cię zadowolić.
Ok to jak już sie wszyscy wyżyli na mej głupocie, gapiostwie i niewiedzy. Bo zaczynam dopiero zabawę z uC i nie wszystko rozumiem. To odpowiem na pytania, które padły. janbernat: Koncepcje mam opracowaną. Program sie kompilował i kompiluje z 1 warningiem. Co do dobrego skonfigurowania timera to nie wiem, czego tu nie rozumiesz. Pytanie jest jasne. Chodzi...
Uparcie twierdzę że _delay() powinno być ukryte przed poczatkującymi. Procesor ma chociaż jeden timer. W przerwaniu od timera można wstawić jedną- albo mnóstwo flag. Inkrementować, dekrementować- jak kto lubi. W pętli głównej sprawdzać- i jak coś jest- to robić. To jest najprostsza implementacja pseudowielowątkowości. Przecież to nie są układy wieloprocesorowe-...
A może wyzwalanie DMA timerem jest po to, aby zapisywać właśnie do timera? jak ktoś będzie generować przebieg o zmiennym okresie, to może mieć w buforze kolejkę kolejnych wartości TOP (nie wiem dokładnie jak działają timery w xmega, nie programowałem ich nigdy) uaktualnianych po każdym przebiegu. Może ktoś będzie generować przebieg o zmiennym wypełnieniu,...
Witam. Chciałem Wam zaprezentować dosyć nietypowe podejście do programowania w C++ dla AVR. Niektórym z Was pewnie się to spodoba, a niektórym nie... Celem było napisanie prostego frameworka, który ułatwił by pisanie prostych programów, wspierał by filozofię programowania bardziej zbliżoną do wielowątkowości i umożliwiał by testowanie powstającego kodu,...
Niewątpliwie lektura manualu jest w tym przypadku konieczna. Po pierwsze musisz ogarnąć strukturę rejestrów konfiguracyjnych i roboczych timera. Ułatwieniem tego może być schemat blokowy który we wspomnianym wcześniej dokumencie znajdziesz. Przytoczona przez Ciebie funkcja ma za zadanie skonfigurować powiązany z nią timer T0 i moduł VIC (kontroler przerwań)....
Aby nie zakładać kolejnego tematu zapytam najpierw tutaj. Jestem programistą lecz ze świata desktopów :) Kiedyś bawiłem się a AVR [tiny2313] i BASCOM'a - wspominam raczej źle, ten język był koszmarem. Na czyste C dla AVR chyba nie chciałbym się rzucać - w ręce wpadła mi niedawno jednak pozycja "Arduino Cookbook - 2nd edition". Ze wzgledu na to, iż przez...
Tu mam jeszcze pytanie - czy mogę wykorzystać timer, do odpytania co kilka sekund o czas z rtc, co kilkadziesiąt ms o stany przycisków, co kilka sekund o temperatury? Użyj techniki opisanej [url=]tutaj. Co prawda kody są w C, ale z opisu bez problemu wyciągniesz odpowiednie wnioski.
Hej. Mam układ na Atmega8, w którym korzystam z pinu PB3 (MOSI/OC2). Używam go jako PWM Timera2. Mam także zworkę pomiędzy pinem MOSI, a resztą swojego układu, która wyciągam na czas programowania, aby nie było komplikacji. To tyle tytułem wstępu. Wszystko do tej pory działało prawidłowo, ja wyciągałem zworkę i programowałem układ bez problemu i potem...
Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego . To jest program : [syntax=bascom] $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1...
Nie należy odliczać na timerze sprzętowo 5 sekund, bo i tak musisz odliczać na timerze czasy krótsze do innych celów - 5 s odliczysz programowo w przerwaniu timera zgłaszanym np. z częstotliwością 100 lub 1000 Hz. Preskaler wygodnie jest ustawić tak, żeby okres zegara wejściowego timera wynosił np. 1 us lub 10 us - wtedy łatwo liczy się i programuje...
Witam, zbudowałem jakiś czas temu zegar LED-owy, z wykorzystaniem taśmy LED i atmegi16. Napisałem do niego program w Bascomie i wszystko niby działa poza jedną rzeczą. Mianowicie nie działają przyciski mające ustawiać czas na zegarze. Czy ktoś byłby tak miły żeby wskazać mi błąd ? :) Program: [syntax=vbnet]$regfile = "m16adef.dat" $crystal = 8000000...
No i właśnie ze tego powodu każdy projekt powinno zaczynać się od spisania wymagań, a następnie od wyboru mikrokontrolera na podstawie tych wymagań. Znajdź taki uC, który ma tyle kanałów PWM o programowanej częstotliwości i wypełnieniu, ile potrzebujesz, a nie staraj się na siłę zrobić na tam uC, jaki masz, czegoś, czego on nie potrafi. Jeśli liczba...
Proszę. Dosłownie 5 minut bo niektóre rzeczy przekleiłem ze swoich programów. Reaguje na komendy LEDON ->właczy diodę na PORTD.2 i na LEDOFF wyłaczy tą diodę. Prędkość transmisji domyślna dla mojego HC-05 czyli BAUD 38400 [syntax=vbnet]$regfile = "m328pdef.dat" $crystal = 8000000 $hwstack=64 $swstack=32 $framesize = 128 $baud = 38400 Config Clockdiv...
Nie polecam używać układu 89S52 Atmela, zdecydowanie lepszy jest 89S51 choć ma mniej pamięci i mniej timerów. Jednak poprawnie współpracuje z pamięcią zewnętrzną czego nie można powiedzieć o 89S52. Może jeszcze ten układ kryje jakieś nieprzyjemne niespodzianki o których nie wiem. No ale można spróbować jak to będzie skoro już kolega kupił. Ja do programowania...
Nie ma takiego modelu coby się załączał z USB. A tak potrzebujesz mieć Timer i sleep Timer. Ile masz max kasy ?