Witam! Kolega poprosił mnie o zrobienie mini-komputerka do Opla Corsy, mającego wyświetlać dane na wyświetlaczu radia. Problem pojawił się, kiedy zechciałem wyświetlać na bieżąco prędkość - program zgłupiał (choć, raz na kilka odświeżeń wyświetlacza pojawiła się poprawna prędkość) a przy większych...
Nie mylisz się a dokładnie powinno tak to przebiegać 1wreset 1wwrite &HCC 'reset magistrali 1wwrite &H4E 'zapis do scratchpad 'zapisuje trzy bajty do scratchpad...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '**************************...
Witam. Mam podłączony moduł BlueTooth HC-05 do ATmega328, używam go do programowania oraz do standardowej komunikacji. Programowanie jest możliwe dzięki wyprowadzeniu STATE w HC-05. Pin ten skonfigurowałem tak, aby podczas normalnej pracy był na nim stan HIGH (3.3V bo taka jest logika HC-05) a podczas...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa...
Witam, Postanowiłem dobudować sobie do zasilacza taki oto woltomierz: Ponieważ szkoda mi 8zł na nową Atmegę 48 zwłaszcza że mam kilka Atmeg 8 postanowiłem przerobić kod (wstawiam już po zmianach) [syntax=avrasm];Automatyczn... 2-zakresowy woltomierz panelowy z 4-cyfrowym wyświetlaczem LED ;Wersja...
Witam Korzystając kodu Tuxgraphics zmodyfikowanego przez Kolegę Mundi1970 , chciałem również postawić prosty serwer pokazujący temperatury z kilku czujników oraz wilgotność i ciśnienie. Po zmianach regfile i pinu CS nie mogę go jednak skompilować. Występują trzy błędy: Error 46 Line: 363 Assignment...
witam. od kilku dni probuje rozwiazac pewien problem. mianowicie ucze sie programowac avr'y i postanowilem zrobic budzik. jednak problem zaczal sie gdy zaczalem dzialac na przerwaniach. na wejscie int2 podany mam sygnal o czestotliwosci 1Hz. ma on co sekunde powodowac przerwanie w ktorym jest odczyt...
Witam, mam mały problem ze sterowaniem silnika krokowego za pomocą potencjometru. Postaram się szerzej opisać mój problem. Podczas działania programu wartość ADC dość mocno skacze mimo zrobionego zabezpieczenia. Silnik gubi kroki. Do celów testowych używam płytki prototypowej z procesorem ATMega32...
Witam, Mam problem z pomiarem czasu trwania impulsu. Próbowałem różnych sposobów, siedzę już nad tym 3 dzień i nic mi nie wychodzi. Na wejście INT0 atmegi32 podaję sygnał np. 30Hz i wypełnieniu 15%. Sygnał jest stabilny więc tutaj problem odpada. Potrzebuję zmierzyć czas trwania stanu wysokiego. W...
Witam forumowiczów. Mam mały problem z przerobieniem programu do mierzenia temperatury wzmacniacza 2x200W, problem polega na tym że mam program pod kostkę AT89C2051 a obecnie dysponuje tylko atmegą 16. Oryginalny program jest użytkownika "lechoo". Byłbym bardzo wdzięczny gdybyście pomogli mi przy tym...
Nie. Robię to mniej więcej tak: czekam na przejście przez zero i w czasie półokresu włączam i wyłączam na określony czas dmuchawę. Jestem pewien, że można to zrobić łatwiej, ale musiałem całość szybko uruchomić, a że ten sposób działał to już tak zostało. Póki co dmuchawa się nie popsuła przez takie...
podzielę się wnioskami z badania trybu Fast PWM w ATmega 32. Wszystko co tyczy się trybu 5,6,7 zgadza się reguluje się tylko wypełnienie i rodzaj przebiegu (odwrócony i bez odwrócenia; wielkość wypełnienia za pomocą OCR1A lub OCR1B) By regulować częstotliwość(okres) i wypełnienie , trzeba wybrać...
No Dobra program juz prawie napisałem i głowiłem sie nad wersja ze zmiennym PWM+f... ale z tego co mi odpisałes to wnioskuję ze coś tu mi nie gra... A nie możnaby programowo realizować ten restart co 80ms? Moze napisz dokładniej co to ma być a coś doradzimy :) Pozdro No wlasnie o to chodziło...
Przepraszam że podepnę się do tematu ale także walczę z RS485. I to walczę dobre kilka miesięcy! A zatem moje pytania: 1.Rozumiem że terminator muszę umieścić na początku i końcu mojej linii rs485 ? 2.Rezystory podciągające linie A i B muszą być przy każdym istniejącym module w sieci? 3.Rezystor...
Zaraz wrzucę to do programu, ale czy to normalne że ds18b20 zaniża mi temeraturę o 2-2,5 stopnia? Kupiłem nowy za 10zł i to samo. Wrzucę cały program do wglądu. Wiem, że może być coś nie tak napisane, ale działa tak jak chciałem ;) Dodano po 3 Edit: Jest jeszcze jeden problem. Co jakiś czas...
Witam, Ostatnio próbuję do swojej pracy magisterskiej zrobić komunikację bezprzewodową za pomocą 2 modułów nRF24L01+. Korzystam z tego kursu: Sprawdziłem działanie komunikacji uC z modułem nRF za pomocą SPI przy użyciu AVR Dragona. Działa bez problemu, wpisuje testową wartość do rejestru za pomocą...
Witam serdecznie! Od kilku dni borykam się z problem uruchomienia na ATMEGA32 termometru bezprzewodowego wykorzystującego moduły nRF24L01. W obecnej chwil mam układ który już działa na atmega 8 i atmega 16 ale po podmianie atmegi 16 na atmegę 32 układ nie działa - chciałbym wiedzieć dlaczego. Poniżej...
dziękuję :) po "małych" :lol: przeróbkach program wygląda tak, wykorzystałem dwa przerwania do ustawiania licznika: .include "2313def.inc" .equ ocr0 =$3C .equ ddra =$1A .equ porta =$1B .DEF cnt = r31 .DEF max = r29 .DEF man = r30 .cseg .org 0x00 rjmp main .org 0x02 rjmp set_up .org...
Nawet próbowałem przenieść wpisywanie poza przerwanie do innej funkcji ale nie pomogło. Chodzi o zmienne secDP secPP. Kod w całości jest bardzo długi bo zawiera nie tylko to ale jeśli chcesz go zobaczyć w całości, powiedz to go wstawię. Nadole jest kod odpowiedzialny za granie. //#### CONFIG...
Witam Proszę o wskazówki dotyczące polecenia incr. W celu poznania i zrozumienia przerwań (jak to wygląda, z czym się je i jak liczy) od kilku dni wertuję co możliwe i czytam, czytam, a następnie próbuję... "Urodził" mi się taki oto programik: If Portd.7 = 0 Then Incr Czas Czas kilkakrotnie "przeskakuje"...
Witam wszystkich forumowiczów. Ostatnio złożyłem sobie układ sterownika domowego z pewnej strony internetowej. Wszystko złożyłem z jak największą starannością. Zaprogramowałem uc ale wydaje mi się że układ nie działa tak jak powinien. Próbowałem znaleźć przyczynę problemów ale niestety do dzisiaj mi...
:arrow: dscreator Przede wszystkim koniecznie skomentuj każdą linię i wklejaj za pomocą znaczników Code , ponieważ (jak widzisz) Twój program jest zupełnie nieczytelny (forum usuwa spacje na początku linii). Program powinien zaczynać się zaraz za obszarem wektorów przerwań. Jeśli jakiegoś przerwania...
Mój problemik polega na tym że chciałbym zbudować przetwornice DC/AC z wyjściem sinus. Mam wystarczające doświadczenie jeśli chodzi o część wykonawczą, kłopotem jest tylko wygenerowanie sygnału PWM dla kluczy. W linku zamieszczam przykładowy projekcik w którym autorzy niestety nie zamieścili procedur...
Witam. Borykam się z problemem przerwania INT1 w procesorze Atmega88p. Otóż przerwanie raz działa poprawnie , wykrywa odpowiednie zbocze , a innym razem załącza się praktycznie losowo . Napisałem specjalnie prosty programik aby zobrazować problem . Program jest pisany w bascomie jednak ze sporą...
Nadajnik (xmega 128a3, TRYB = 1): [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #include <string.h> #include <avr/pgmspace.h> #include <stdbool.h> #include "SPI.h" #include "nRF24L01.h" #include...
gdzie w nocie katalogowej można znaleźć informacje na temat priorytetów wykonywania przerwań, jeżeli wystąpią w tym samym czasie. The lower the address the higher is the priority level. RESET has the highest priority, and next is INT0 – the External Interrupt Request 0. The Interrupt Vectors...
Tylko tak dla ścisłości... Wektory przerwań używają rozkazu jmp (nigdy rjmp)... The most typical and general program setup for the Reset and Interrupt Vector Addresses in ATtiny2313 is: ..... 0x0000 rjmp RESET ; Reset Handler 0x0001 rjmp INT0 ; External Interrupt0 Handler 0x0002 rjmp...
Witam, Mam problem z programem na Atmege8a, mianowicie: Piszę program sterujący pracą silnika (za pomocą L293D) który dodatkowo będzie zliczał w czasie impuls od przerwań zewnętrznych i tu pojawia się problem: kiedy napisałem program obsługujący tylko pracę silnika, wszystko działa sprawnie, kiedy...
Witam. Mam kod, w którym Atmega ma wysłać na kompa dane dopiero wtedy jak komp wyśle ramkę 0b01111111. Zatrzymanie wystąpi po wysłaniu z kompa 0b00000000 (stan początkowy Atmegi, nic nie wysyła). Komenda 0b1xxxxxxx oznacza odczyt konkretnego urządzenia. Każda przesłana komenda ustawia odpowiednią flagę,...
Witam, mam dziwny problem, pomoże mi ktoś go rozwiązać? Chodzi o to, że buduję urządzenie, które na żądanie będzie mierzyło temperaturę układem DS18B20. Żądanie odbywa się poprzez naciśnięcie odpowiedniego przycisku na pilocie RC5. Całe moje urządzenie to dwa AVR: Atmega8 (jako dekoder RC5, który...
Witam, Napisałem program, który wprowadza uC w stan uśpienia. Wszystko działa poprawnie, ale do tej operacji używam dwóch przycisków. Jeden służy mi do usypiania (PA1), a drugi, jako przerwanie do wybudzania uC (PD2-INT0). W jaki sposób mogę zrobić to na jednym przycisku podpiętym pod PD2? Poniżej kod. [syntax=c]#define...
no problem polega na tym ze wykorzystujac petele potrafie odebierac transmisje z mastera. przy takim rozwiazaniu rzecz jasna nie mam czasu zeby zajac sie obsluga np. LCD. sama zasade magistrali i2c znam i rozumiem, ale niebardzo potrafie to zaimplementowac na przerwaniach w upc. wynika to napewno z malej...
zmieniłem kod w następujący sposób #define F_CPU 1000000UL // 1 MHz // prędkość transmisji 9600 #define UART_BAUD_RATE 9600 #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include...
sterujesz pinem PD2 ustawiłeś jako wejście (chociaż to akurat możnaby pominąć bo po resecie i tak wszystkie piny są wejściami).... za to z PC0 zjadłeś ustawienie kierunku. Druga i niestety MASAKRA jaką robisz to _delay_ms() w przerwaniu. Wiem, że zaraz napiszesz, że tu może tylko do testów...
No włąśnie tu tkwił mój błąd w rozumowaniu.... po północnym siedzeniu doszedłęm do takich wniosków.. tzn nie łączyłem tego ze żeby uzyskać zero trzeba zapisać jedynkę. Jednocześnie chciałem przez ustawianie flagi wywoływać przerwanie a to jest chyba niewykonalne wiec i tu straciłem trochę czasu. Kwitując: Uruchomiłem.......
Witam, mam problem z programem na mikroprocesor. Na początek dodam, że prototyp, zanim poszedł w odstawkę pół roku temu działał prawidłowo. Program w tym momencie ma za zadanie wyświetlić 4 zmienne na wyświetlaczu. Uruchomienie przerwań zawiesza program. W zależności od tego kiedy zostaną rozpoczęte,...
Poradziłem sobie z oledem w ten sposób że, wywaliłem fabryczny obwód do resetu, i podpiąłem pin reset z paska oleda pod atmegę. Kondensator, rezystor i diodę. Podobnie zrobili tu: Teraz jest inny problem. Gdy szybko włączam i wyłączam procesor, tzn power down, to procek mi się zawiesza. Pokażę...
Auto napisał: satanistik napisał: Program w przerwaniu od timera mierzy wartość z ADC Rozwiązanie dość kiepskie. Wchodzi w przerwanie, wyzwala pomiar, czeka na wynik W PRZERWANIU!, Nie twierdze że to jest rewelacja, ale samo w sobie nie powinno prowadzić do błędu w stylu "brak kolejnych pomiarów...
Ok, a teraz jeszcze jedna sprawa: Zmodyfikowałem trochę program by wyświetlał na multipleksowanych wyświetlaczach LED 4x7 odebraną komendę. Jak zwykle trochę chodzi, ale nie do końca - założenie jest takie: odbiera komendę z rc5 i wyświetla ją na led, efekt jaki uzyskuję: odbiera komendę, wyświetla...
No i mamy konkret. O ile nie jest to kilka nałożonych na siebie problemów to masz juz jakąś jasność. RESETOWANIE. Nie wiem co byś na wejściu nie wyprawiał reset nie jest możliwy ( w granicach rozsądku :) ) Dwie możliwości: 1. Reset jest przez zasilanie - puść zasilanie Atmegi zupełnie z innego...
No dobra. Pierwsze kroki. Teoria: Aplikacja do testów: Kod bootloadera: 1. W urządzeniu na ATmega644p stosuję wewnętrzny oscylator 8MHz i prędkość transmisji po UART 4800 baud (8N1, no parity). Podobno zalecany jest rezonator kwarcowy. Ciekawe jak to się będzie sprawdzać na oscylatorze...
Watchdog nie jest programowy tylko sprzętowy Możesz mi powiedzieć co tu miałeś na myśli? Watchdog nie jest programowy? pierwsze słyszę. programowo: 1. ustawiam watchdoga na jak najkrótszy czas 2. wyłączam przerwania (na wszelki wypadek) 3. pętla nieskończona. i masz programowy PEŁNY...
Bardzo dobrze, uznałeś że wait zupełnie się nie nadaje... Ja bym zrobił to tak: Timer generuje przerwanie co ok. 1s w przerwaniu zwiększam jakąś zmienną o 1... Z resztą poniższy przykład chyba najlepiej Ci wytłumaczy moją idę: do if wejscie_1 = 1 then licznik_1 = 0 flaga_wejscie_1 = 1 end...
2. mirku, fajnie jest tak jak piszesz ale w dowolnym projekcie nie wiesz z góry, które bity będą jedynkami a tu zauważ jest wszystko po kolei :), po Twojemu się tak nie da. Nie, no zaraz - jak to nie wiem z góry, które będą jedynkami. To chyba podstawa np gdy chce się ustawić jakiś tryb timera...
Witam Mam następujący problem: Posiadam w swojej sieci RS485 kilka pracujących modułów. Znajduje się w niej jeden Master i 6 Sleave-ów . Problem jest następujący. Jeden z modułów działa prawidłowo zaraz po podłączeniu do zasilania , tzn. odpowiada poprawnie na zapytania Master-a ale po kilku...
Aby zachować stałą czasową proponowałbym zapodanie przerwania od timera. Co do dryfu temperaturowego to zapodaj jakiś termometr pod następny ADC i kalibruj odczytaną wartość wartością temperatury. Oczywiście współczynnik musisz dobrać sam... Myslalem nad podobnym rozwiazaniem - udalo mi sie uzyskac...
Witam, popełniłem takowy program do sterowania ogrzewaniem i zapętliłem się nieco na funkcji start/stop odliczania pozostałego czasu do wyłączenia urządzenia. Poniżej fragment kodu: [syntax=basic4gl]'-------------... GLOWNA----------------------------------... Flaga_4ms...
Mimo, że mogę zmieniać wartość rejestru(sprawdzałem przez rs232) to ISR (TIMER2_COMP_vect) włącza się chyba przy wartości 0, bo czas pulsu wynosi 4ms- czyli przy 8MHz prescalerze 128 wychodzi ok. 250. Nie mam pojęcia co się dzieje. Po resecie mikrokontrolera wszystko działa ok, a gdy tylko zmienię wartość...
Witam wszystkich, robię prosty układzik na uC atmega. Zadaniem go będzie odczyt temp z czujnika ds18b20 i ustawianie zewnętrznego przetwornika dac po spi. Wszystko praktycznie napisałem, bo części programu były wykorzystywane w innych układach, które pracują, z spi problemu nie ma, z odczytem ds też. Ale...
Ogólnie mam blue booka wiec mam nadzieję, że dużo mi powie. W BB nie ma obsługi przez uart. Zwykłe delay tyle że zawieszane są przerwania na czas transmisji bitu a nie jak gdzie indziej bajtu czy nawet całej transmisji łącznie z reset. Jeśli zawieszanie przerwań na kilkadziesiąt us nie jest problemem...
Najczęściej jest to wektor przerwania bez kodu - nastąpi skok pod adres 0 (programowy reset). Może też być problem z przepełnieniem stosu/nadpisywaniem zmiennych. Za mało informacji o objawach i ogólnym zarysie programu lub części, która jest wadliwa (o ile to kod). Jeśli masz tak dużo kodu, to powinieneś...
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...
Chyba można by uniknąć stosowania watchdoga jesli wcześniej wyłączone zostały by przerwania?! Ale wiesz co? unikać stosowania watchdoga to raczej nie warto. Jeśli chodzi o wszystkie inne sztuczki programowe służące do tego celu to akurat watchdog zdecydowanie się do tego lepiej nadaje. Zauważ,...
Na początek pamiętaj żeby program umieszczać w znacznikach "Code" wtedy jest czytelniejszy. Zamiana, o której piszesz nic Ci nie da bo instrukcja Bitwait wstrzymuje program i tylko coś w przerwaniach może w tym czasie się wykonywać. Jak chcesz zrobić nieblokująco (w zasadzie jest tylko lekkie opóźnienie...
Witam Podczas sczytywania temperatur od 0-33 stopni wszystko jest ok. Po przekroczeniu 33 stopni diody sygnalizujące temperaturę zaczynają szalec. Zastosowałem rezytor zewnętrzny podciągający 4k7. Program: [syntax=asm].include"m8def... DQ_PORT DDRC #define DQ 5 #define SET_DQ cbi...
Witam Mam kilka pytań do starszych kolegów. Nie wiem jak ''ugryźć'' tego pwm-a żeby diody rozjaśniały mi się wszystkie od razu [syntax=bash] ...... Dim led(3) As Byte ........ Przerwanie: Incr Licznik If Licznik = 100 Then Licznik = 0 If Licznik < led(1) Then Set D1 Else Reset...
Stosując interfejs JTAG mamy właśnie sprzętowy dostęp do wszystkich rejestrów, jakie by one nie były. Można np. załączyć debuggowanie, potem wymusić 0 (sprzętowo - zwierając tą linię do masy) na jakieś linii portu. Będzie to widać w AVR Studio - zmieni się stan PINn. Można też zmieniać wartości pszczególnych...
Analizator dawal wyniki niejednoznaczne (tzn losowe fazy transmisji w trakcie zwiechy). Poradziałem sobie przez reset interfejsu i dotaktowanie razem po stronie mastera. Nie wiem dlaczego samo dotaktowanie, lub samo zresetowanie mastera nie dawało wyjścia i dlaczego master (i2c doskladnie bo master zyje)...
Ustawiłem bit WDIE oraz WDP1 i WDP2 ( ustawiają sekundę jak było napisane w nocie katalogowej), lecz jak śledzę to debuggerem to widzę że system dalej się resetuje. Dziwna sprawa dioda świeci się (około 1 sekunda) i gaśnie (na około 1 sekundę), chociaż nie ma delyów ani operacji xor. Wydaje mi się...
Moj program tak wyglada w uproszczeniu: Rjmp start ;Tutaj znajduja sie rużne procedury Start: ;Wskaźnik stosu Ldi R16,low(RAMEND) Out SPL,R16 Ldi R16,high(RAMEND) Out SPH, R16 ;Wyzeruj wszystkie flagi Ldi Acc,00 Out Sreg,Acc ;Zaden przycisk nie...
:)... no wlasnie.... Ale w tym sek, ze raczej nic tam w programie nie powinno przeszkadzac. void inicjuj_USART_TIMER(unsigned char tim, unsigned char szybk) { TCCR0 = 0b00000001; TCNT0 = 5; TIMSK |= 0b00000001; ///////////////////////////... = 0; UBRRL = (unsigned char)(szybk); UCSRB...
Ok dzięki te operacje na bitach (a w zasadzie bajtach) już rozumiem. Ta linia do masy układu rzeczywiście nie jest konieczna. 1. Co do wiatraczka to rzeczywiście pomyliłem kierunek strzałki. Czy tranzystor BD139 byłby ok? Może macie lepszy pomysł. Nad wygładzeniem zasilania dla wiatraczka też się...
Przepraszam odrazu że poruszam temat wałkowany 1000 a moze i wiecej razy. Niestety jednak niepotrafie sobie sam poradzić dlatego prosze was o pomoc. Termometr wyswietla mi cały czas temp -0.02 Niemam pojecia dlaczego Ds jest zasilany ciągle (nie przez iwire) a środkowa noga zwarta przez rezystor...
Zegar zrobiony jest na wewnętrznym kwarcu. No i masz odpowiedz. Stabilnosc wewnetrznego oscylatora (ktory bybajmniej kwarcowy nie jest) jest slaba i zalezy od roznych czynnikow miedzy innymi temperatury. Niewiem dokladnie jak dzial program (skladnia bascoma ciagle stanowi zagadke) ale o ile dobrze...
Nie mam przez weekend dostępu do programatora itp. aby sprawdzić mój program. Czy poniższy kod zadziała jak programowe pwm na pd.2 oraz czy pb.3 będzie sobie mrugał? Wiem że nie powinienem pytać, tylko to sprawdzić ale zależy mi na waszej opinii :D $crystal = 1000000 $regfile = "m16def.dat" Config...
Dotychczas nie zależało mi, żeby jakiś układ zabezpieczać watchdog'iem, ale w miarę rozwoju mojego projektu zaistniała taka potrzeba. Przeczytałem tutorial na "wkrętaku" i wszystko niby jasne, proste a jednak musi być jakieś ale... W moim programie jest funkcja while(1) gdzie mógłbym wstawić _WDR(); ale...
Witam, próbowałem ostatnio przenieść mój program (wyłącznik czasowy) z Atmegi8 (działa idealnie) na Atmegę16 (gdyż ma więcej "nóżek"). Problem pojawił się przy pierwszym uruchomieniu - w miejscu, w którym uruchomione zostają przerwania program się resetuje. Zaznaczam od razu iż spędziłem wiele godzin...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem pojawia...
tak też napisałem że nie sądzę żeby to miało tutaj wpływ, ale każde urządzenie powinno mieć go włączonego. Jak włączasz zasilacz do sieci myślisz że od razu on osiąga napięcie 5V? Jak tak to jesteś w błędzie. Wyobraź sobie że procesor zacznie pracować już przy 2,5V, ale może zrobić coś "dziwnego". Dlatego...
LCD_RST - RESET LCD_RS - RS LCD_CLK - CLK LCD_DAT - DAT LCD_CS - CS LCD_GND - GND LED_GND - GND LED+ - LED+ LCD_2V9 - 2V9 LCD_1V8 - 1V8 Chyba nie takie trudne :) Czy zastosowanie dwóch mniejszych procków np. Atmeg8 komunikujących się ze sobą poprzez UART nie poprawiło by parametrów...
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...
Jeśli pojawi się 1 na encoderA to chcesz sprawdzić encoderB aby wiedzieć w którą stroną to idzie i czy zrobić EPOZ += 1 czy EPOZ -= 1? Jeśli tak to MSZ nakombinowane jest w obsłudze przerwań, wystarczy jedno do kanału encoderA i sprawdzamy: jeśli encoderB = 1 to zwieksz EPOZ jeśli nie to zmniejsz...
1. TL431 nadal błędnie podłączony. Zobacz w ds jak należy go podłączyć, a nie patrz na kolorowy obrazek bez komentarza mówiącego, że jest to układ do pomiaru natężenia prądu. 2. Zwarcie resetu do zasilania. 3. Zadeklaruj zmienne prawidłowo to nie będzie błędów. 4. A co to jest: uint16_t dziesiatki()...
Witam !! Napisałem program na sterowanie pilotem. Nie działa mi set Led_2. Przycisk 2 z pilota wykonuje warunek ale nie setuje portb.2 ? Co jest [syntax=c] $regfile = "m8def.dat" 'rejestry mikrokontrolera atmega8 $crystal = 8000000 'częstotliwość taktowania mikrokontrolera $baud = 9600 Config...
Witam, 1. Mam nie lada zagwozdkę z obsługą zegara PCF8563p przez Atmege32 + wyświetlacz LCD. Sam zegar działa dobrze. Poprawnie wpisuje datę i godzinę. Problem pojawia się z odczytem. W PCF ustawiam wyjście na 1Hz, które jest połączone z Atmegą jako przerwanie INT0. Co kilka razy, przy resecie uC, gdy...
Witam! Od niedawna męczę się z odebraniem kodu Rc5 w tle działania innego programu. W moim wypadku jest to zegar z budzikiem na LCD który działa bez problemu lecz jak tylko dorzucę do programu procedurę odbierania Ir to wtedy przestaje mi liczyć czas mój zegar. Niżej zamieszczam przykładowy program...
Roznica pomiedzy skokiem pod adres $0000 a reset przez watchdoga jest i to spora. Watchdog sprzetowo linie RESET na jakis czas aktywuje. Wtedy wewnetrznie wszystkie rejestry opisane w dokumentacji przyjmuja swoj stan poczatkowy. Przy skoku pod adres $0000 ciagle dzialaja przerwania, sa poustawiane...
Jeśli chodzi o sprzętowego PWMa to chyba pokuszę się o AVR136, tylko zamiast atmegi wykorzystam attiny2313. Zasymulowałem sobie to na razie tylko w proteusie i całkiem ładnie to śmiga :) __________________________________... Potrzebuje Waszej pomocy. PWMy ładnie działąją (12 kanałów),...
Właśnie wywaliłem obsługę drugiego uarta. W tym momencie działa tylko pierwszy Dopisałem obsługę od URXC on_urxc: portg.4 = 1 waitus 1 portg.4 = 0 return po pierwszym użyciu uartu - wysyłanie danych - dioda zapala się i nie gaśnie. podejrzewam ze przerwanie wykonuje się raz za razem. ale...
Może szukasz portów nie tam gdzie są? Przetestowałem z ciekawości i działa bezbłędnie co widać na printscreen`ie. Kod z tego testu. [syntax=vbnet] $regfile = "m128def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 32 $framesize = 128 $baud = 9600 $baud1 = 9600 Config Com1 =...
Witam Chciałem nauczyć się regulacji fazowej i popełniłem taki układ na podstawie tego co wyczytałem w internecie I do tego taki program [syntax=vbnet] $regfile = "m32def.dat" $crystal = 16000000 Config Com1 = Dummy = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 'konfiguracja...
OK, dzięki za podpowiedź. Przetestuję na dniach i dam znać. Sławek Dodano po 6 Witam ponownie, oto wyniki testu: 1. przesunięcie danych w EEPROM o 1 lub 2 bajty dalej i wskazanie rejestrem EEAR = 0; po zapisie lub po odczycie całego bloku danych nic nie zmieniło ale ... 2. sprawdzając...
Ja mam podobny problem z ATmega 32 i z przerwaniem od przepelnienia licznika T1. Program caly czas siedzi w przerwaniu nie moze nie z niego wrocic. Kod wyglada mniejwiecej jak ponizej. jezeli w funkcji main w petli while jest printf to program wraca z przerwania. Jezeli wstawie tam np swiecenie diody...
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...
Moja atmega to model 8A-PU, niby jakiś nowszy typ. Wrzuciłem tu plik -------- begin -------- avr-gcc -c -mmcu=atmega8 -I. -g -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=../../lib/conv/bcd2bin.lst -I../../lib -Os ../../lib/conv/bcd2bin.c -o...
Witam. Zbudowałem urządzenie z wykorzystaniem atmega32 jest w nim ok 2kb kodu napisanego w bascom. Urządzenie wykonuje cykl pracy bazując na kilku zmiennych odczytanych z eeprom wewnętrznego. Maszyna posiada licznik cykli i za każdym razem przy 17 cyklu wyskakują na wyświetlaczu krzaki a po...
Witam Dopiero zaczynam swoją przygodę z mikroprocesorami z rodziny ARM. Posiadam moduł prototypowy: STM32 LCD3.2" ARM Cortex, z procesorem: STM32F103VCT6 . Korzystam ze środowiska Kyle uVison4. Problem pojawił się przy próbie uruchomienia magistrali I2C. Obecnie mam 3 ATMEGI połączone ze sobą...
witam. Napisałem taki oto program. LCD jest podpięty w trybie 4ro bitowym. y=53 x=3y=53 Za jakiś czas zaś lcd jest pusty. Jeżeli w pętli głównej zmienię waitms 50 na 1000 to program dłuższą chwile wszystko pokazuje dobrze, ale i tak prędzej czy później na lcd pojawiają się krzaczki niczym z matrixa. Mój...
Idea jest taka: Obniżam częstotliwość za pomocą ckdivX wlączam watchdoga z przerwaniami co 1s bez resetu, potem tryb power down, robie taki prosty licznik w watchdogu który jeżeli zliczy np. 500 s to ustawia stan wysoki na pinie pb0, który jest podĺaczony do int0 a to wybudza atmege. Jeżeli już atmega...
ja tu widze jedno niedociągnięcie: chcesz aby uC symulował rom 64k*8 czyli zajmie to równe 64KB pamięci flash.. a gdzie będzie kod programu?? To iż wykonywanie ma wchodzić do przerwania i niewracać to ja zrozumiałem tak: !! Asm+pseudocode (po optymalizacji) rjmp reset .org int0_vector rjmp...
Rozumiem a czy któs z WAS mógłby zerknąć i powiedzieć mi co mam tutaj zmienić. Dim Adress As Byte , Command As Byte Dim Odebrano As Bit , Flaga As Bit Dim X As Byte Config Pind.2 = Input : Portd.2 = 1 Config Timer1 = Timer , Prescale = 8 'co 2usek przy 4MHz Stop Timer1 On...
tak sie sklada, ze dla 16b PICow stos w domyslnej lokalizacji po przepelnieniu wylozy program (nastapi sprzetowa pulapka od przepelnienia stosu, ktora skonczy sie resetem, chyba ze programista zadecydowal inaczej), natomiast w MSP430 domyslnie umieszczony stos, przed wywaleniem programu zmasakruje...
Zmień doświadczalnie wartość wpisywaną do timera. Zobacz czy poprawnie wyświetla ci to co chcesz. Ważne jest także żeby przerwanie nie było za długie bo wtedy może grozić to resetem uc.
Ja bym proponował Ci wykonać następujące czynności: -sprawdź zasilanie, czy gdzieś ścieżka masy nie jest przypadkiem przerwana(wielokrotnie mialem problemy z plytkami trawionymi które wyglądały ok ale okazywalo się że na którejś ścieżce było mikropęknięcie niewidoczne) -czy każda nóżka zasilania ma...
Faktycznie napisałeś ;-) Przepraszam, nie dopatrzyłem. Ustawiasz powersave mode, i aktywujesz przerwania timera. Obsługa może być funkcją pustą. I samo się budzi. Jest jeszcze jedna metoda, ale wbrew pozorom dość trudna ze względów progamistycznych - budzenie resetem (trudna ze względu na inicjalizację...
na spi ma być 5 urządzeń, sprawdzam na najmniejszej prędkości , w testach doszedłem do 4MHz ale przy tej prędkości już przerwanie się nie wyrabiało więc obniżyłem. A co do błedów szukam tylko nie mam speclajnie już nić do wyłowienia, bo niby gdzie ? ISR(SPI_STC_vect){ unsig... char...
Najprościej będzie tak: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.0 = 1 : Portb.0 = 0 Config Pinb.1 = 1 : Portb.1 = 0 Config Pinb.2 = 1 : Portb.2 = 0 Config Pinb.3 = 1 : Portb.3 = 0 Dim Licznik As Byte Enable Interrupts Enable Int1 Config Int1 =...
Może wyjaśnię do końca jak to wygląda. Otóż mój program co pewien czas(około 5 sekund) wysyła zapytanie do jednego urządzenia , potem odbiera odpowiedź i pora na wysłanie zapytania do drugiego urządzenia i znowu odbiera dane. I tak się dzieje non-stop. Problem z LCD mam w momencie kiedy nacisnę "przycisk"...
Funkcja main(void) nie może mieć return na końcu (procesor idzie w krzaki i może się resetować) i raczej też powinna być typu void... Podwójnie nie masz racji :) Oczywiście return z funkcji main jest bez sensu, ale nie powoduje pójścia procesora w krzaki, ani tym bardziej resetowania. W takiej...
Witam. Po napisaniu poniższego kodu wyskakuje komunikat Reset nieznany Dalsza część kodu bez zmian. Eliminacja drgań przycisków jest przez opóźnienie: 60ms. Program mi się resetuje nadal nie znam przyczyny. Może wystąpić reset od przepełnienia stosu? ISR_OUTTP_COMP2_DISABLED //BLOKUJE...
Podepne sie pod temat, bo mam podobny problem. Zrobilem sobie uklad taki jak na rysunku - sterownik silnika: Na razie testuje plytke niskimi obciazeniami - tzn. podlaczam zarowke 60W i sprawdzam czy mozna regulowac jasnosc triakiem. Jak widac zrobilem izolacje galwaniczna obw. wysokiego napiecia...
Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części...
6. Ciekawi mnie problem, bo na pierwszy rzut oka, o ile nie ma zwarć na płytce czy przerwanych połączeń, to takie coś nie powinno mieć miejsca - piny programatora nawet nie pokrywają się z pinami LCD, w programie na pierwszy rzut nie widzę jakichś potencjalnych przyczyn, biblioteki Arduino są OK,...
U mnie akurat dość szybko "zaskoczyło". Tylko mam w odbiorniku problem z blokowaniem przerwań/timerów . W nadajniku nie ma takiego problemu. timer działa, bo odlicza czas pomiędzy "wysłaniami" oraz czas wywołania czujników DS i DHT11. Zakładałem, że odbiornik działa tak: - nasłuchuje danych - pojawienie...
Chciałem się dowiedzieć jakie częstotliwość próbkowania osiągacie przy stabilnym odtwarzaniu *.wav bez zakłóceń wynikających z obsługi karty. Śledzę temat od dawna. Ostatnio z potrzeby chwili zacząłem eksperymenty. Oprogramowanie jest napisane w Bascom/Asm. Kiedyś napotkałem PDF'a kolegi Saabotaz...
Zamieszczam mój działający listing Chciałbym zwrócić uwagę, że zamieszczony listing nie da się skompilować :) Zmienna "i" jest zdefiniowana przed klamerką otwierającą funkcję main. Normalnie kompilatory potrafią sobie z tym poradzić (jeśli dobrze pamiętam zastępując return 0 pętlą nieskończoną)...
Po pierwsze powinieneś pisać kod bardziej po bożemu czyli stosować rzutowania. Po drugie Atmega 8 domyślnie pracuje na 8 znakach i nie trzeba tego ustawiać. Upewnij się że masz wyłączoną w komputerze kontrole przepływu. Funkcja _delay_ms przeznaczona jest do pisania własnych opóźnień bo sama jest ograniczona...
Witam, Zaczynam właśnie zabawę z procesorami atmega i mam problem z watchdog'iem na atmega8. Pod atmega328 działa to super ale tam jest troszkę inaczej (jest WDIE, którego w atmega8 nie ma) Skorzystałem z przykładowego kodu z tej strony #include <avr/wdt.h> #include <avr/sleep.h> #ifndef...
Kod jest prosty, bo siedze nad nim od dawna i już wyrzuciłem wszystko co było zbędne. Zależy mi na tym by na wyświetlaczu pojawił się napis "Timer0 OK". [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny...
Pisany z pamięci ... może niedziałać: .include("m16def.inc") ;Dodaje plik z stałymi podawanymi zamiast adresów dla ATmega16 .cseg ;rozpoczęcie segmętu kodu .org 0x00 ;przejście na początek wektorów przerwań rjmp Reset ;przejście do obsługi przerwania RESET Reset: ...
Witam. Od pewnego czasu zajmuje się wykonaniem sterowania na mikro-kontrolerach AVR. Nadajnik pracuje na atmega 8 a odbiorniki na atmega 16. Mój system to zestaw 15 odbiorników i 1 nadajnika. Połączone jest to wszystko za pomocą magistrali RS485 za pośrednictwem Sn75176 z przełączaniem odbiór nadawanie....
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa...
Witam ponownie, Poszedłem o krok dalej i moim planem jest podłączenie każdego z czterech wtryskiwaczy do osobnego pinu Arduino Uno/Nano z Atmega 328p. Pozwoliło mi to na skonstruowanie programu aby sterować każdym wtryskiwaczem z osobna z tą samą częstotliwością i wypełnieniem, ale sygnał do ich...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to...
Możliwe sugerowałem się tym, że niezależnie czy po wpisaniu Reset Pinb.1 lub Reset Portb.1 i wrzucenia do uC działanie było takie same. Nawiązując do mojego problemu, próbowałem zmieniać w poprzednich kodach port na pin tak jak radził "piotrva" jednak nie przynosi to efektu. Nadal mam problem z uruchomieniem...
Witam Do istniejącego i działającego "urządzenie" chciałem dodać możliwość odbioru, parsowania i odesłania SMS'a zwrotnego z danymi. Cały kod: Linia1 - to wyświetla Uart_numer - Linia1 Linia2 - to wyświetla Komanda - Linia2 czyli działa OK Ale jak podepnę modem GSM ( SIM900D ) to Uart_numer...
Witam, od wczoraj zmagam się z problemem odbioru kodu RC5 w urządzeniu, w którym mam multipleks dużej ilości wyświetlaczy 7-segmentowych LED. Przerwania na multipleks przychodzą co około 4ms. Multipleksowanych cyfr jest łącznie 48, ale pogrupowane są one, tak jakby były tylko 4 cyfry. W każdym przerwaniu...
Witam. Dziękuję za radę, dzięki niej ruszyłem z projektem nieba. Na ta chwile wygląda to tak jak na filmiku. Tak, oczywiście z tym kwarcem to pomyłka, Atmega 32 taktowana jest z częstotliwością 16MHz. Umieszczam także kod źródłowy jaki wyskrobałem. wszelkie uwagi mile widziane. Dodano po 5 ...
Przerobiłem program na Atmega328. Teraz ma tylko odbierać dane z master na Atega1284p i wysyłać do Domoticz. [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************...
Witam!!! Napisze po kolei co robiłem bedzie łatwiej zdiagnozowac co sie stało i jak ewentualnie rozwiazac problem. Zdjąłem simlocka BB5Kingiem v1.04 - wszystko OK. log: 2008-11-15 17:34:18 Searching for JAF box ... 2008-11-15 17:34:18 JAF box detected 2008-11-15 17:34:19...
Witam wszystkich majsterkowiczów :D Oto mój jeden z pierwszy programów napisanych na ATMEGE 8. Dotychczas programowanie mikrokontrolerów traktowałem jako zabawę, używając do tego BASCOMA i zestawu Treningowego. Obecnie stoję przed zamiarem budowy pewnego urządzenia ale przed rozpoczęciem prac...
Tak właśnie mam tak zrobione. Ale wolałbym jednak móc podawać ID czujnika do odczytania do funkcji np tak: Declare Function Myfunction(Byval I As byte) As string Z = Dsid1(1) ' ID czujnika 1 T = Myfunction(z) Function...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie,...
Cały problem jest w tym żeby te dwie ATmegi się zsynchronizowały. Przerwanie od SPI występuje po zakończenia transmisji pierwszego bajtu. Zanim nastąpi obsługa przerwania to pierwszy bajt zostanie utracony. Nie mamy też gwarancji że dwie Atmegi "wystrzeliły" :) równocześnie i Slave nie czyta np. 4...
Przesyłam fragment kodu dla "paluch_gda" jedną cewką zapłonową na dwa obroty wału (pełny cykl pracy) na jednej cewce generowane są 4 takie "odcinki czasu" (iskra przeskakuje po raz na każdej ze świec), więc na 1 obrót wału przypadają 2 "odcinki czasu". Dzielimy więc wartość Nr (liczba "odcinków...
Hej, Nie mogę zmusić Atmegi do zliczania tego czasu. Wpisałem polecenia wczytywania czasu z EPROM i zapisu. Różnica jest teraz taka, że co sekundę dostaję: 255:255:255 Kondensator elektrolityczny przed stabilizatorem został wylutowany. Dzielnik zmieniony. Teraz przy 14Vin jest 3,6V na sensorze....
Witam forumowiczów, zacząłem realizować projekt zegarka, kalendarza i termometrów z owego linku: Proszę o porady i sugestie jak można rozwiązać ten problem :P
Wykonałem syntezę do radia ze strony . Generator i separator działa, scalak syntezy LM7001 pracuje z kwarcem 7,2MHz, po wyjęciu jego Atmega prawidłowo "milczy" tzn. brak wtedy wyświetlania częstotliwości zmian na enkoderze itd. Ta część programu działa ale nie steruje LM7001 synteza nie "łapie"....
Chronograf jest urządzeniem służącym do pomiaru prędkości obiektu. W najprostszej formie pomiar polega na wykorzystaniu dwu czujników, które będą „śledzić” obiekt, urządzenia do pomiaru czasu i interfejsu wyświetlającego wynik pomiaru. W niniejszym artykule zostanie przedstawiony opis...
Witam , mam nadzieję iż nie zanudziłem bez reszty.. W zestawieniu z moimi "dokonaniami asm." kolega michalko12, jest najbliższy temu co ja kiedyś robiłem . Oto wersja asm z przełącznikiem kompilacji aby kompilować jako samodzielny plik - kto chce ->ten może :D ( ta wersja to 16-timerów,...
Witam. Po przerwie wracam do tematu gdyż nadal nie mogę poradzić sobie z obsługą karty Compact Flash za pomocą mikrokonrolera. Sprawa wygląda w ten sposób że wykonałem układ do obsługi karty CF jak na poniższym schemacie. Poniższy schemat jest zaczerpnięty z Elektroniki Praktycznej z rocznika 2/2004 ...
Witajcie, próbuję odpalić dwie ATmega8 tak, by obsługiwały moduł radiowy NRF24L01. SPI mi działa, wiec dodałem te moduły. Jedna atmega z modułem ma nadawać dane, druga z modułem je odbiera. Niestety tak się nie dzieje... pisałem to na podstawie tej strony: Kod nadajnika: [syntax=c]/* * main.c ...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem...
Jest to proste korzystasz z przerwań jakie generuje timer0 podobnie jak to opisał kolega z innego tematu tego fora w bascom napisał '************* Konfiguracja uC ***************** '********************... = "attiny2313.dat" $crystal = 16000000 Config Portb...
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...
Potrzebny mi timer z wyzwalaczem i przerwaniem na ATmega. Takie rzeczy robi sie programowo, albo programowo wydłużając czas zliczania timera sprzętowego w mikrokontrolerze, można też z uzyciem przerwań. Dlaczego chesz to zrobić całkowicie sprzętowo, obawiasz się o to że program przestanie poprawnie...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam...
Witam, zaprojektowalem maly uklad ktorego zadaniem jest zdalne sterowanie elektrozamkiem 12V/250mA. Schemat moze nie jest jakos skomplikowany ale chcialbym uniknac kilkukrotnego zamawiania PCB. Uklad jest zasilany z zasilacza 5V/3A, a gdy zabraknie prądu przełączy sie na zasilanie z baterii. Takie mniej...
Mam mały problem z programem napisanym w bascomie , mianowicie założenia są takie jest to odbiornik pilota IR na atmega 8 chodzi mi o sam algorytm dekodowania sygnału , który ma dekodować wszystkie rodzaje pilotów obojętnie czy są w standardzie RC5 czy SONY na wyświetlaczu LCD mam mieć wyświetlane umownie...
Kod jest dość spory więc wkleję najważniejsze fragmenty odpowiedzialne za RC5 ,SD i 1Wire. RC5 '***************************************... ODCZYTU RC5**************************** '******...
.... Chce zrobic obsluge przyciskow zewnetrznych na przerwaniach a wlasciwie przerwaniu bo moj biedny uC posiada tylko jeden pin na zewnetrzne przerwanie co nie jest raczej problemem bo kazdy guzik moze wywolywac to samo przerwanie a dodatkowo podlaczyc je z osobna do roznych wolnych portow Czyzbys...
Witam pragnę przedstawić Wam konstrukcje jakie wykonałem do C64 Pomysł narodził się z rok temu późną wiosną chcąc pograć na emulatorach w trochę gierek do C64 , przekonałem się jednak że emulator C64 na pc to jedynie namiastka starych dobrych czasów, wtedy przypomniałem sobie o moim staruszku...
Witam Napisalem prosty programik do sterowania jednym serwem lecz serwo przesuwa sie powolutku w jedna strone tylko. Serwo to mini serwo z Conrada ES-05 .include "m16def.inc" .org 0x00 rjmp reset .org OC2addr rjmp KrotkiCykl...
Witam, Jestem początkującym w temacie, napisałem sobie sterowanie 8 serwami, ale chciałbym to robić bardziej dokładnie przy użyciu trybu CTC timera1 i sprzętowego rejestru przesuwającego. W następujący sposób go inicjalizuje // na początek włączamy tryb czasomierza i ustawiamy wyjscie na 0 w trybie...
Problem rozwiązany: W urządzeniu używam INT0. INT1 i INT2. Sygnałem podłączonym do przerwań jest detekcja zera sieci (z 3 faz). Detektor generuje krótki ujemny impuls w momencie przekroczenia napięcia przez zero. INTy były ustawione na stan niski (a nie na zbocze). Gdy 3 detektory działały poprawnie...
Panowie odpaliłem już mój układ na innej atmega 16 trzeba zmienić jedną rzecz w konfiguracji SPI sprzętowy. Jednak mam problem z Atmegą 32 bo tam wciąż nie działa, nie odczytuje danych z nadajnika. I tu mam konkretne pytanie gdyż dla amegi 8 dla której pierwotnie był przygotowany soft w BASCOM-ie to...