Musiał byś napisać sterownik Windows podobny do USBasp i program na Atmegę. Protokół USB jest dość skomplikowany i jest tam baaardzo dużo miejsca na popełnianie błędów. Moim zdaniem szkoda czasu, zwłaszcza w czasach scalaków, które to robią bardzo dobrze za kilka zł (CP2102, FT230) i mikrokontrolerów z normalnym USB które kosztują niewiele więcej niż...
Witam Jestem tu nowy więc proszę o wyrozumiałość. Od pewnego czasu próbuję zdekodować pilot(y) IR. O ile dużo jest wątków poświęconych dekodowaniu RC5 i innych to jednak nigdzie nie mogę się doszukać jak sprawdzić czas impulsu. Wykorzystuję timer i przerwanie zboczem narastającym ICR1 . W przerwaniu zmieniam na zbocze opadające a następnie dokonuję...
Poczytaj [url=]tutaj. Dodatkowo w załączniku masz bezpośrednio kody opisane w tamtym przykładzie. Wszystko działa. Zapewniona jest obsługa dni tygodnia, lat przestępnych etc. Dodatkowo w Timer1 umieszczona jest obsługa autodostrajania pcfa w przypadku problemów z kwarcem. Wsio bazuje na wykorzystaniu przerwania ICP - nóżka int pcfa jest podłączona do...
A co robię niezgodnie z dokumentacją? Poniższe funkcje znalazłem na stronie internetowej, która wyglądała całkiem poważnie. Obojętne mi z której flagi będę korzystał byle działało :P A skoro w większości przykładów natknąłem się właśnie na wykorzystanie tych flag to tego się na razie trzymam. ----------------------------------------... W sumie to...
kompilator i avr-gcc. Doświadczalnie wszystko jest ok, kiedy wyrzucam delay.h. Jak prosto zastąpić ta bibliotekę swoją funkcją do zwłoki czasowej. Mam taktowanie 1 MHZ. Jest jakaś lżejsza funkcja pod zwłokę?
1. Jakie prędkości masz po obu stronach? 2. Nie możesz tego zrobić sprzętowo? 3. Programowo robisz odbiór i nadawanie na przerwaniach i przepisujesz z jednego bufora dane do drugiego... 4. Jakie funkcje ma pełnić Atmega? Czy ma to być tylko monitor połączenia czy co?
A najlepiej zajrzeć do noty katalogowej sterownika wyświetlacza i samemu napisać sobie funkcje obsługi.
Stąd 8 pętli. 8 różnych. Bo różne czasy. Czas "swiecenia" się nie może być ani dłuższy ani krótszy niż zadany Chyba że sam przerwę kolejnym naciśnięcie. Temat nie dotyczy wielozadaniowości, ale funkcji nieblokujących. Do świecenia nie jest potrzebne ciągłe programowe wymuszanie określonego stanu. Wystarczy ustawić port i ledy będzie świecić dopuki...
Do porjektu z ATMEGA potrzebuję jakiegoś uniwersalnego pilota pracującego w standardzie RC5. Mam do obsłużenia kilka funkcji sterowania. Do tej funkcji chciałbym użyć pilota ale takiego uproszczonego - i nie o wyglądzie takiego do TV. Czy dostępne na portalu aukcyjnym piloty które się programuje z oryginalnego pilota da się do tego użyć? Zaprogramować...
Czy mozna cos takiego w Bascom (lub jakis inny kompilator) zastosować ? dla atmega8 if cos tam then config pina.1 = Input set pina.1 if pina.1 = 1 then cos tam if cos tam then config porta.1 = Output porta.1 = 0 chodzi o sterowanie generatora DTMF MT8880 przez atmega8
witam Mam problem z up Atmega88 - nie działa SPI. skonfigurowany jest jako master (spi sprzętowe) - wg noty katalogowej, jednak jak chce coś wysłać program staje (w symulacji i w układzie) , uzywam komenty SPIOUT. Wcześniej ten sam algorytm uzywałem na atmedze8 i wszystko było ok. Oczywiście zmieniłem w opcjach procesor i przekompilowałem program dla...
załącz kod programu + informacje które pojawiają się w okienku output. W ogóle jaki masz exit code ? Jestem ciekaw czy wogóle w Twoim programie jest funkcja main() :D
Przeglądałem wszystkie posty na temat sterowaniem LED i nie znalazłem nic co by mi pomogło w napisaniu programu sterującego pracą LED w taki sposób: wciskam przycisk dioda się zapala na 60s i to niema problemu problem jest ażeby można ją zgasić w każdej chwili przed upływem 60s proszę o sugestie link lub jakąś podpowiedz. Poprawiłem tytuł. Proszę o...
wyświetlacz nie pracuje tylko i wyłącznie w trynie odczytu to zwykła głupota, wyjściem może byś zapamiętanie stanu portu w przerwaniu i odtworzenie go po wyjściu z przerwania, w tym przypadku zalecałbym wykorzystanie wyświetlacza bez wykorzystania flagi zajętości. 2 wyjściem może być wyłączanie przerwania od klawiatury podczas realizacji funkcji obsługi...
A jak wyglądają same funkcje do TWI?
Musisz wyłączyć generowanie PWM w czasie obsługi wyświetlacza! Przerwanie nie może wymuszać dostępu do portu na który masz wyświetlacz w losowym momencie, bo twój procesor nie ma rejestru do niezależnej i atomicznej manipulacji pinami portu . Uwalaj wszystkie przerwania na czas wykonywania funkcji LCD_Out.
[syntax=c]#include <stdio.h> #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> #include <util/atomic.h> #include "HD44780.h" #define NOSAMPLES 128 // usrednianie wyniku co 128 probek volatile uint16_t ADCwynik; // zmienna zawierajaca wartosc ADC co 128 probek void init_adc(void) { ADMUX = (1 << REFS0);...
W oczy się rzuca to, że nie zamieniłeś ustawiania kierunku portu na port A (tam gdzie jest ADC), tyko zostawiłeś na porcie C. Ale to nie jest przyczyna zawieszania... Też się rzuca wykorzystywanie liczby zmiennoprzecinkowej podwójnej precyzji do odczytywania liczby ośmiobitowej :) Może to w innym miejscu się zawiesza po wywołaniu tej funkcji...
Witam Potrzebuję na najprostszym modelu mikroprocesora ATMega z wykorzystaniem przetwornika DAC otrzymać do wyboru 3 przebiegi, sinus, trójkąt, piła. Wymagana jest regulowana częstotliwość i stała liczba próbek w okresie. Czyli - jak najprostszy schemat w przykładowo Proteusie, czy tam Eagle (procesor podłączony do wyświetlacza gdzie jest napisana częstotliwość...
No dobra, problem chyba na pewno tkwi w zapisie do UBRRH i UCSRC. Chodzi o flagę URSEL. When the function writes to the UCSRC Register, the URSEL bit (MSB) must be set due to the sharing of I/O location by UBRRH and UCSRC.) (strona 138 ze specyfikacji). Tyle tylko, że poniższa modyfikacja problemu nie usuwa(choć teraz 'a' jest odbierane jako <0>r)...
Witam, proszę o pomoc bo nie wiem jak sobie z tym problemem poradzić. Napisałem program, który mierzy czas trwania poziomu wysokiego impulsu za pomocą funkcji przechwytywania na proc. ATmega8. Sygnał jest podawany na wejście PB0 (ICP). Kiedy pisałem ten program nie miałem generatora, dlatego dopisałem jeszcze dwie linijki programu i na jednym z wyjść...
Witam Temat być może pojawia się po raz wtóry, ale poprzednie tematy nie rozwiązały problemu. Chcę wykonać prosty zegarek cyfrowy oparty na uC ATMEGA8(L) oraz wyświetlaczu LCD 2x24. Wszystko chodzi bez zarzutów, gdyby nie fakt złego odliczania czasu przez mój uC. Otóż mój ATMEGA8 pracuje z kwarcem zewnętrznym 8MHz + dwa kondensatory ceramiczne 22pF...
TAk mam i nadal coś z tym MUXem nie tak: ADMUX |= (0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0); //wejscie analogowe ADC2 ADCSRA |= (1<<ADEN); // zezwolenie na konwersje // Rozpoczęcie przetwarzania while(bit_is_set(ADCSRA,ADSC)) {}; MANETKA=ADCH; ADMUX &= (0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0);...
Z tym odbiornikiem podczerwieni powinno być oczywiste, przecież czy użycie innego pilota, czy też jakakolwiek inna podczerwień i sygnał pojawia się na wyjściu odbiornika. A jak sygnał się pojawia to procek się wybudza. I to jest całkiem normalne, dzieje się tak w każdym urządzeniu, czy to w telewizorze, czy w czymkolwiek innym co używa podczerwieni,...
Korzystasz ze wskaźników na funkcje?
Witam:D Zbudowałem prosty układ z Atmegą8 który mierzy napięcia przez 3 wejścia ADC oraz dokonuje obliczeń i wyświetla je na wyświetlaczu. Układ zasilany jest z baterii i taktowany wewnętrznym zegarem 1Mhz. Jakich funkcje zastosować aby zmniejszyć pobór prądu przez uC? Czytałem o Power Management and Sleep Modes w dokumentacji ale nie wszystko kapuje...
Oczywiście, że się da, to wręcz idealne dla nich zastosowanie. Jeśli nie znasz VHDLa, czy jego odmian to pogoogluj, kursów w necie jest pełno. A jak nie masz ochoty się uczyć to w np. WebISE (darmowym) Xilinxa możesz po prostu narysować schemat elektryczny z dostępnej biblioteki układów, a program go zsyntetyzuje i będziesz miał kostkę o pożądanych...
A jakim językiem programowania będziesz się posługiwał? Bascom AVR,C,ASM (bascom najłatwiejszy). Musisz jeszcze zbudowac lub kupic programator. Można zbudowac np. stk200/300. Ten typ programatora łączy procesor z portem LPT komputera(5przewodów,4rezystory,wtyk LPT) . Użyj funkcji ''szukaj''.
2- Do czego służy w ogóle ta detekcja 0? 3-Triak po włączeniu zostaje włączany dopóki napięcie nie osiągnie 0? Spójrz na obrazek : Wykywasz 0 triak wyłączony, odmierzasz czas mniejszy od 10ms i włączasz triak. Pamiętaj tylko o tym, że ta regulacja którą teraz masz czyli 10ms z krokiem 100us nie jest liniowa, ponieważ napięcie sieciowe jest funkcją...
Czy próbowałeś wysłać "magiczne" CONNECT z drugiego modułu jako dane? Wykrywa wtedy transmisje? P.S. BTM-222 ma wyjście do LED pełniącą dokładnie funkcje którą potrzebujesz...
A komendy toggle będą działały tak szybko, że zmiany będziesz wstanie zaobserwować jedynie oscyloskopem/analizatorem stanów logicznych/multimetrem z funkcją pomiaru częstotliwości.
Może dlatego, że Twój program po prostu się kończy w ułamku sekundy? Wiesz co robi procesor gdy skończy się funkcja main()? Albert
Chodzi mi o to ze wypadaloby podac typ argumentu funkcji :)
Czy zle kombinuje? Nie całkiem źle, lecz nie dokładnie... W zasadzie budujesz "Continuity Tester". 'Continuity'- znaczy mniej więcej jak 'ciągłosc' - co jest wynikiem zwarcia dwóch odcinków przewodu. Jeżeli masz do wytestowania na przykład wiązkę 8 przewodów, to podłączając je do oddzielnych wejśc dowolnego portu , masz mozliwośc scanowania tego układu...
moze prosciej bo polowy nie rozumiem co chcesz osiagnac:D dobra jest usbasp programator zbudowany przez ciebie, bootloader w nim jest i chcesz zaprogramowac atmege 328 szeregowo. tylko ta atmega gdzie sie znajduje? na plytce stykowej? jakiejs innej plytce? zdjecie by wiele wyjasnilo:) Dodano po 1 i co to wogole ma imitowac?:D Ludzie! Czy wy nie możecie...
Cześć Wydawało mi się że się precyzyjnie wyraziłem, oczywiście: - Atmega168V zamiast Atmega8 - Atmega324V zamiast Atmega32 - Atmega664V zamiast Atmega64 Dodatkową przyjemnością są dodatkowe funkcje :) dla przykładu w Atmega324 jest 6 PWM zamiast 4 i 2 UART zamiast jednego. Piotr
Przy opracowaniu różnych nadajników oraz anten występuje konieczność pomiaru fali stojącej (SWR) w antenie. Prezentuję kilka wariantów prostych mierników SWR, gdzie stosowany jest Arduino lub mikroprocesory typu Atmega8. Najprostszy w realizacji jest miernik SWR od autora z Królewca. Składa się tylko z wyświetlacza 1602 z układem i2c, płytki Arduino...
Witam, Chciałbym przedstawić swoją konstrukcję, która była tematem mojej pracy na studiach inżynierskich. W dzisiejszych czasach prawie nikt już nie bawi się bramkami logicznymi, licznikami, rejestrami, które zostały wyparte przez sterowniki PLC. Urządzenia te wykorzystujemy do wykonywania pewnych zadań/sekwencji, ale dla przeciętnego kowalskiego ceny...
Banknot -> tak, to dokładnie to samo co ATmega88 tyle że masz na pokładzie 2x więcej pamięci FLASH ale także masz więcej RAM i EEPROM To jedyne różnice - reszta wszystko dokładnie tak samo jak w ATmega88 a wyprowadzenia pinologicznie zgodne ze stareńkim ATmega8. Tyle że mają więcej alternatywnych funkcji. Więc kupuj śmiało. I nie martw się w ogóle brakiem...
Witam Porwałem się na robienie własnego sterownika co i stanąłem w martwym punkcie. Mianowicie sterownik składa się z 2 płytek na których są Atmegi 16 taktowane zewnętrznym kwarcem 11.059200 + kwarc zegarkowy jeden układ odpowiedzialny za odczyt temperatur regulację fazową wentylatora oraz sterowanie elektrozaworami a drugi obsługa wyświetlacza graficznego...
Kawałek biblioteki UART dotyczący tego uC: Kod: c Chyba moje możliwości są ograniczone żeby zamienić to tak aby to co mi wysłałeś działało tak jak ten fragment: [syntax=c]#if defined (__AVR_ATmega168__) #define UCSRB UCSR0B #define TXEN TXEN0 #define RXEN RXEN0 #define RXCIE RXCIE0 #define TXCIE TXCIE0 #define UDRE UDRE0 #define UBRR UBRR0 #define...
Nagrywanie Bootload’era na układzie ATMega328, przy użyciu Arduino Uno, jako programatora ISP. Autor konstruował pewne zdalnie sterowane urządzenie, które wymagało, aby Arduino działało przez 24 godziny na dobę, siedem dni w tygodniu, jednak nie chciał w nim montować całego, wartego $32 Arduino Uno. Autor zdecydował się więc na kupno kilku elementów...
Witam, W skrócie - mam 2x atmega8a-pu kupione na allegro. Chce na tym uruchomić najprostsza migającą diodę. Drobne utrudnienie, że działam spod linuxa, ale to chyba nie powinno mieć wpływu. Programator mam usbAsp. I teraz cała historia moich zmagań: Podłączyłem sobie wszystko wg. schematów dostępnych w sieci, z uwzgl. pinów mojego procka. W Arduino...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). A teraz chciałbym go wam zaprezentować. Na początek podręcznik języka C w formie pliku pdf -> 'C.pdf' i plik -> 'atmega16mmr.pdf' ,oraz obrazki -> 'Atmega8.gif'...
Witam, Nabyłem zestaw startowy EVB4.3 z atmega32. I mam o to taki problem że nadpisałem testowy program już wgrany przez producenta programem ze strony producenta ,okazało się że nic się nie dzieje(pewnie inny pinout lub procesor).Po próbie wgrania programu(taki jaki był) testowego test.hex, na wyświetlaczu jest tylko napis zegarek. Po poszukiwaniach...
Czy jest możliwość obsłużenia tego w Bascomie? Funkcja GETADC() Przeznaczenie: Pobiera wynik przetwarzania z wbudowanego przetwornika ADC na wybranym kanale. Składnia: zmienna = GETADC( nr_kanału , offset ] ) gdzie: zmienna - zmienna typu Word do której wpisana będzie przetworzona wartość, nr_kanału - numer kanału przetwornika ADC. Zwykle z zakresu...
Pytanie jak w temacie. Mam gotowy układ, kupiony od osoby trzeciej. Docelowo chciałbym zmodyfikować wsad o nowe funkcje. Do tej pory bawiłem się atmegą8 i banalnym darmowym programem zgrywałem sobie wsad. Niestety program na atmega16 jest zablokowany. Zgrać się nie da. moje pytanie to jak zgrać ten wsad? Zakładam, że przez program bascom i avrdude....
Witam, Sprawa wyglada tak. Mam wytrawione dwie identyczne plytki 1) atmega32, 5V, 16Mhz 2) atmega32A, 3.3V, 8Mhz Problem: Otoz, jezeli wgram na plytke 1 lub 2 gotowiec UART z ksiazki tmf lub mk rs232 dziala na obu plytkach. Natomiast biblioteka, ktorej obecnie uzywam dziala tylko na plytce 1 (atmega32, 5V, 16Mhz). Na drugiej plytce (atmega32A, 3.3V,...
Magistrala 1Wire jest bardzo zależna od czasów. Ponieważ nowa Atmega8 ze sklepu jest ustawiona na 1MHz zapytam czy zmieniałeś ustawienia FuseBitów w tych Atmegach? Pytam ponieważ w kodzie masz zadeklarowaną prędkość 4MHz. Taką predkośc podałes kompilatorowi i do takiego taktowania policzył czasy do komunikacji z czujnikiem. Jeśli nie zmieniałeś nic...
Witam! Chcę pokazać jak zaprogramować mikrokontrolery artmega8 i atmega328 przy użyciu Arduino IDE 1.6.9 (czyli najnowszy). Będzie trzeba zmienić kilka plików programu. krok 1. pobierz moją paczę do arduino 758921 ' krok 2. podmień plik board.txt ścieżka:Arduino/hardware/arduino/avr/boa... krok 3. przenieś ATmegaBOOT_8.hex do Arduino/hardware/arduino/avr/bootloders....
Witam, Potrzebuję zrobić urządzenie zasilane bateriami, dlatego zależy mi na maksymalnej oszczędności prądu. Zupełnie odpada pomysł z usypaniem mikrokontrolera. Oczywiście powyłączam połowę funkcji i zredukuje zegar. Założenia: użytkownik naciska przycisk typu reset, który podaje zasilanie na płytkę; atmega uruchamia się i podtrzymuje zasilanie, niezależnie...
Witam ja też wróciłem do wersji z 2004 - jest jak narazie najstabilniejsza, z tym że jak kompilujesz biblioteke eeprom.h pojawia się komunikat: The functions from <avr/eeprom.h> are not supported on this MCU. i zostaje bez funkcji do zapisu/odczytu EEPROMA. W sumie to już rozwiązałem ten problem - w notach do Atmeli są krótkie procedury zapisu...
Ten sufix nie jest dla Ciebie istotny !!!! ATmega8 jest ciągle dostępny. Nie potrzebnie kierujesz się tym oznaczeniem, PI oznacza ze jest to odmiana do zastosowań przemysłowych, PU to oznaczenie dla wersji gotowej do lutu bezołowiowego !!! Te oznaczenia nie mają nic wspólnego z typem układu... jest to dalej ATmega8 i wszystko jest tak ja było pod względem...
Posiadam przykład kodu na atmega16 (coś mnie ten procek prześladuje :/) i chcę to przerobić na atmega128. Pod atmega16 wygląda on następująco: .cseg RESET:cli clrr30 outEECR, r30 outMCUCR, r30 ; watchdog na ok.1s ldir31, (1<<WDE) | (1<<WDP2) | (1<<WDP1) outWDTCR, r31 ; inicjalizacja stosu ldir31, high(RAMEND) outSPH, r31 ldir31, low(RAMEND)...
skoro umiesz wysłać tekst do drugiej atmegi to jak możesz nie umieć wysłać sobie jakichś zmiennych - oj chyba przegrzało przy ubieraniu choinki więc podpowiem ;) .... można to zrobić na milion sposóbów oczywiście i wszystko zależy od tego jakie to są zmienne, ale np załóżmy że masz zmienną typu Byte. 1. dokonujesz konwersji tej zmiennej na postać String...
Witam mam kolejny problem z nieszczęsną atmega128. Napisałem program który działał na ATmega16 i chciałem go przenieść do atmega128 no i jest problem. Program w ogóle nie działa. W przerwaniu powinny się zwiększać wartości zmiennych. Niestety chyba nie zwiększają się :/ program wchodzi do przerwania bo wstawiłem tam naprzemienne ustawianie i kasowanie...
Witam wszystkich:) Ostatnio zakupiłem płytkę testową EvB 4.3 z ATMEGA32 oraz książkę "Mikrokontrolery dla poczatkujących". Podczas wykonywania ćwiczeń z książki wyniknął problem. Np. w ćwiczeniu nr 6 wykorzystujemy Acsr.0 i Acsr.1 z rejestru ACSR które pełnią rolę bitów pomocniczych - i tu problem bo po zaprogramowaniu ATMEGA32 takim programem mikrokontroler...
Witam. Dziękuję za pomoc, wykonam ten układ tylko ze na attiny2313, do dyspozycji mam jeszcze atmega16l. W bascomie nie mogę zmienić procesora wyskakują błędy wiesz czemu? Byłbym wdzięczny jak byś wstawił filmik z działania. Pozdrawiam. Cały koncept tego projektu polega na użyciu ADC ( A nalog to D igital C onverter). Ponieważ Attiny 2313 nie posiada...
Robię programik w BASCOM na Atmega48 i zabrakło mi ciut pamięci na testowe opcje, których później już nie będę potrzebował. Pomyślałem, że wstawię atmega8L (mam takich kilka, a nie mam żadnego 88), bo żadnych bezpośrednich odwołań do rejestrów nie ma w programie. W zasadzie to podstawowe funkcje tylko wykorzystuje wspólne dla obu uC... i pojawił się...
Witam! Kolejny etap mojego 'rozwoju' w zabawie z atmegami. Stworzyłem taki oto następujący schemat sterownika akwarium: Założenia: -Wyświetlanie na LCD godziny z możliwością ustawienia + podświetlenie LCD -Sterowanie serwomechanizmem realizującym funkcję karmika -Sterowanie dwoma pompkami od spryskiwaczy samochodowych na 12V około 3-4A służących do...
Witam, Używam sterownika do silnika DC. Sterowanie polega na podanie odpowiedniego wypelnienia PWM na wejscia AIN1 AIN2. Wejscia AIN odpowiadaja za obroty w lewo/prawo. Uzywam atmegi328p. Zasada dzialania (obroty w prawo/lewo): [syntax=c]OCR0A = 255; //PD6 // hamulec/start OCR0B = 0; //speed //zmiana kierunku obrotu silnika OCR0A = 0; //PD6 // speed...
Witam serdecznie, Proszę o wyrozumiałość gdyż na forum sięgam pierwszy raz od kilku lat. Z reguły staram się sam rozwiązać problemy. Do rzeczy: Jestem początkujący z atmegami i staram się rozgryźć kod do obsługi wyświetlacza LCD. Oto kod, w którym nie jestem w stanie znaleźć błędu: [syntax=c]#include <avr/io.h> #include <utildelay.h> #include...
Witam. Niestety jak na razie w wolnych chwilach próbuję zaprogramować Attiny/ Atmega... Napisałem program do generowania sygnału z uzyciem polecenia Sound . Niestety nie mogę wykorzystać tego samego przycisku do załączania i wyłączania dżwięku. Po za tym chciałbym dołożyc drugie polecenie generowania dżwięku/ podpiętego pod kolejne wejście (PINA.1)...
Witam, odgrzebałem swój projekt odbiornika podczerwieni, który działa świetnie, rozpoznaje adres i komendy pilota. Wszystko obsłużone jak należy. Problemem jest wykrycie przytrzymania przycisku. Nie zrobiłem tego odrazu a teraz zaczęły się schody. Napisałem fragment odpowiedzialny za obsługę przytrzymania jednak nie działa :( Projekt na Atmega328p,...
Witam wszystkich. Podczas dzisiejszej zabawy z Atmegą32a napotkałem 2 problemy. Jeden, to dziwnie działający UART: Przy takim kodzie: [syntax=c]#include <avr/io.h> #include <util/delay.h> #define PWM_A (1<<PD4) #define PWM_B (1<<PD5) int a = 0; #define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((8000000UL / (USART_BAUDRATE *...
Jest to prosty miernik częstotliwości do ok. 60 MHz z rozdzielczością 4Hz (pomiar 2x/s), który ma też funkcję testowania rezonatorów kwarcowych/ceramicznych o częstotliwości 1-40 MHz. Wynik pomiaru jest prezentowany na wyświetlaczu LCD 2x16 znaków w formacie "xxx.xxxxxx MHz" (nieznaczące zera są usuwane). Jego czułość wejściowa jest wyższa, niż typowego...
Witam, Mam problem z przerwaniami zewnetrznymi w ATmega128 tj. wyglada na to, że uP nie reaguje na przerwania zewnętrzne. W programie mam zrobioną obsługę przerwania INT4 ( .org $000A ), ale uP nie obsługuje go tzn. nie wchodzi w funkcje obsługi przerwania. W fuse bitach zmieniałem częstotliwość kwarcu na 8 MHz i odznaczyłem kompatybilność z ATmega103....
ATmega128 z fabrycznie ustawionymi bitami konfiguracyjnymi ma ustawiony bit kompatybilności z ATmega103 oraz włączony JTAG. Te tryby pracy zmieniają funkcje pinów i dlatego może nie działać uC. Poczytaj o tym w dokumentacji: "ATmega103 and ATmega128 Compatibility"
Co do schematu podłączenia, to znajduje się on jednak na tej stronie : Co do języka programowania, to nie ma on po stronie uC, żadnego znaczenia. Można uC oprogramować stosując gotowe rozwiązania, które znajdziesz na w/w stronie. Połączenie czujnika temperatury, CF-a i RS-a jest wykonalne, a nawet ktoś juz to robił na tym forum, proponuję przeszukać...
Witam Mam problem z obsługą wewnętrznej pamięci eeprom w WinAVR. Mam wersję z 2004 r. i niestety umieszczona tam biblioteka eeprom.h nie obsługuje mojego procka. Po przegladnieciu dokumentacji znalazlem funkcje eeprom_wtite i eeprom_read. Potrzebuje również funkcji zapisywania i odczytywania bloków eeprom_write_block i eeprom_read_block działających...
No coż dla M32 te funkcje ponoć działają w symulatorze ale chyba tylko dla niego i bardziej popularnych. Nie zawsze mam czas i ochote podłączac oscyloskop by sprawdzić kto sie myli: ja symulator czy pdf Nie wiem jak Wam ale mi nowa wersja AWRStudio nie za specjalnie leży, ładniej wygląda ale straciła na funkcjonalnosci. np nie jest nigdzie wyświetlana...
Właściwie z duchami się juz uporałem, ale zamieszczam to, o co kolega prosił. Pomogło dodanie opóźnienia 700us po wygaszeniu lampy. Oto schemat sterowania jednej lampy: $regfile = "m8Def.dat" $crystal = 4000000 Config Portb = $b11111111 '8 Portb = $b11111111 Config Portc = $b1111111 Portc = $b1111111 '7 Config Portd = $00011111 '8 Portd =...
Witam, Chciałbym się komunikować z uK za pomocą portu COM (RS232). Komunikacja miałaby przebiegać w stronę PC->ATmega16. Do komunikacji ma służyć Terminal. ATmega na podstawie odebranego znaku ASCII, czyli kodu klawisza klawiatury, ma wykonać jakieś zadanie. Podłączyłem Atmega16 do PC według schematu: Schemat pokazuje tylko idee podłączenia linii...
rrata : Istnieją co najmniej dwa sensowne powody, aby _delay_ms wsadzić w pętlę: 1/ "The maximal possible delay is 262.14 ms / F_CPU in MHz." Co oznacza, że gdyby opóźnienia były większe niż (tutaj) 16ms, to pojawił by się problem z zastosowaniem tej funkcji 2/ Jeśli jako argument podać zmienną, to do kodu zostanie wkompilowana cała obsługa liczb zmiennoprzecinkowych,...
Przedstawiam kolejną wersję zegarka binarnego. Układ oparty na ATMEGA168V i układzie RTC DS1337, który w przeciwieństwie do DS1307 może pracować z niskimi napięciami zasilania. Zastosowałem typowy zegarkowy rezonator ceramiczny 32,768kHz 6/2mm. Płytkę zegarka wykonałem z b.cienkiego laminatu z drukiem na stronie TOP a od spodu wykonałem styki baterii...
No nie mam niestety ATMEGA32 na stole. Wszystko może być. Wadliwy też. Ale nie przypuszczam. Płytki dla Atmega8 i ATmega32 też muszą być różne. No i alternatywne funkcje też. Np. pin pb.0 może pełnić w ATMega32 różne funkcje. str. 58 data. Czyli w zasadzie każdy pin może mieć nieco inną konstrukcję we-wy. Mozesz: sprawdzić na innym pinie- albo dać opornik...
Atmega128 zapewnia następujące elementy: 128K bajtów wewnętrznej programowalnej pamięci typu FLASH z dopasowaniem odczytu podczas zapisu, 4K bajty EEPROM, 4K bajty SRAM, 53 linie wejścia/wyjścia, 32 robocze rejestry, Licznik rzeczywistego czasu(RTC), cztery liczniki z trybami porównywania i PWM, dwa USART, bajtów zorientowany dwu-kablowy równoległy...
Witam! Mam pytanie do użytkowników systemu Nut/OS na ATmegach. W jaki sposób wygląda obsługa przerwań? Właśnie zacząłem się bawić tym systemem (a do tego sama ATmega128 jest dla mnie też nieco nowością, bo wcześniej były tylko ATmegi8). Czy wygląda to tak samo jak w przypadku ATmegi8? Czy może są jakieś gotowe funkcje? Tak nieco przybliżając temat chciałbym,...
Jeśli chcę mieć regulowane opóźnienie to czy mam bawić się w funkcje delay? Jeśli chcę odpalić przetwornik ADC to czy muszę załączyć (poprawcie jeśli źle piszę) jakieś biblioteki?
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Więc nie dołączyłem żadnych kondensatorów. Czy słusznie? Słusznie. Zmieniłeś nową funkcję przerwania ISR() i jej wektor na stare (przestarzałe) SIGNAL(): Zmień na ISR(). Szczerze muszę przyznać że nie do końca wiem co ustawiłem w TIFR oraz TIMSK, znalazłem to w którymś z tematów o RTC na atmega8535. Zaglądnij do datasheet tam pisze: TIMSK: Bit 6 –...
Na wstępie chciałbym przybliżyć, skąd taka a nie inna nazwa nadana przeze mnie temu projektowi. Prace rozpoczęły się w momencie zapotrzebowania na minimum dwa zsynchronizowane generatory małej częstotliwości. Ponieważ zakres przestrajania jaki mnie zadowalał ograniczał się do 100Hz przy rozdzielczości 0,01Hz wybór padł na zalegające w szufladzie ATMEGA....
Witam, nie mogę sobie poradzić z uruchomieniem scalaka max31855 w współpracy z atmega16. nota : z tego co mi wiadomo układ max31855 miał być zamiennikiem poprzedniego układu max6675 ale niestety coś u mnie nie za bardzo. na początku do odczytu chciałem wykorzystać sprawdzony kod który działa w 100% z układem max6675 jego istotny fragment: [syntax=basic4gl]...
Po pierwsze: nie ma praktycznie żadnej różnicy czy ładujesz do rejestru wartość jako (char jasność) czy (char (0xff-jasność)). Jasność i tak nie jest funkcją liniową PWM. Po drugie na świecie jest cała masa uC, które nie mają żadnego problemu ze sprzętowym PWM (8..16 bitów) i naprawdę warto dobrać kość do potrzeb, zamiast ograniczać projekt do kości...
Pomyślałem sobie że może funkcja ShowOnLed zmienia stan PORTD tylko do czasu jej zakończenia więc dodałem opóźnienie przed wyjściem z funkcji wgrałem program i ruszyło. Postanowiłem jednak to sprawdzić i usunąłem delay i wgrałem stary program jednak ku mojemu zdziwieniu układ działa, nie mam zielonego pojęcia co się stało. Cały układ mam na płytce stykowej,...
Witam Proszę o wsparcie wiedzą i doświadczeniem przy programie na procesor atmega128. Program ma sterować dodatkowym wtryskiem gazu w tym przypadku będzie to instalacja 5tej generacji LPG czyli fazy ciekłej. Zasada działa nia jest bardzo prosta i wymaga: Podłączenia sygnałów z 2 wtryskiwaczy (tyle wystarczy w 4 cylindrowym silniku) przez diody prostownicze...
Dziękuje za odpowiedzi i wskazówki i przepraszam, że tak późno odpisuje, już coś zaczęło działać uwiesiłem się tego następnie przestało znowu zaczęło i tak minęły 2 tygodnie tym bardziej, że nie mogłem codziennie z tym siedzieć. Wracając do tematu chciałbym przedstawić go jeszcze raz (postaram się dokładniej z uwględnieniem eagle) z odpowiedziami na...
Dzięki za odpowiedź. Już kilka prostych programików na tym uC popełniłem i nie miałem większych problemów. Ten był pierwszy który modyfikował Fuse Bity. Jedynym efektem działania programu jest miganie LED B1 i B2 z częstotliwością <> 10Hz. Poniżej całość programu: [syntax=c] #include <stdio.h> #include <avr/io.h> #include <util/delay.h>...
Witam Nie wiem czy w dobrym dziale dałem ten temat, jeśli nie to z góry przepraszam. Jakiś czas temu zrobiłem (chyba ze dwa lata temu) sterownik do pieca na ATmega16, ma wszystkie funkcje jakie sterownik powinien posiadać (sterowanie obrotami dmuchawy itd.) Problem jaki się pojawia to w zasadzie druga awaria, polegająca na uszkodzeniu (najprawdopodobniej...
Witam wszystkich. Mam problem z obsługą DS18B20 na Atmega16. Zacznę od tego, że obsługę tego czujnika i wyświetlacza segmentowego mam opanowaną, bo na Atmega8 wszystko mi działa, także sam czujnik jest w porządku. Czujnik mam podłączony w trybie NORMAL z użyciem rezytora 4,7k(takie samo podłączenie mam dla Atmega8), do PD0. W bibliotece do obsługi czujnika...
Dobra. Kod prezentuje się następująco: to jest program w którym wszystko działa jak potrzeba: [syntax=cpp]//Data utworzenie: 20-09-2014 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <avr/pgmspace.h> #include "MYUART/myuart.h" #include "MK_TERMINAL/mk_term.h" #define REF_256 (1<<REFS1)|(1<<REFS0)...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
A teraz obliczenia: Taktowanie procesowa 1MHz, preskaler 8 daje 125kHZ co przekłada się na czas impulsu równy 0,000008s . Ustawiając OCR2 na 200 nasze przerwanie będzie wykonywać się co 0,0016s co daje 625 przerwań na sekundę Problem w tym, że najprawdopodobniej bardzo rzadko spełniają się warunki porównujące wartości liczników w ifach czyli odswiez_wyswietlacz==312...
Potrzebuję porady/informacji czy jest możliwe wysyłanie danych z programu na PC w C++ na port COM do którego jest podłączony Serial Adaptor Bluetooth. Dane z Bluetooth-a są odbierane przez układ BTM-222 podłączony do Atmega88PA. Komunikacja przez putty działa, dane wysyłane z putty są odbierane przez BTM-222 i wyświetlane na LCD. Chciałbym aby taka...
Wykonałem dzisiaj mały test - porównałem ile pamięci mikrokontrolera będzie zajmował ten sam fragment programu, ale napisany na 3 różne sposoby. Program był pisany w Atmel Studio 7 w języku C na ATmega8. 1. Na pierwszy ogień stworzyłem przykładowy kod i go skompilowałem. Tutaj nie korzystałem z żadnych funkcji ani też plików nagłówkowych. Kod wyglądał...
W projekcie jest napisane aby użyć ATmega8515 16pu a ja użyłem ATmega90s8515 8pc Atmega8515 jest znacząco różniącym się procesorem z większą ilością funkcji, rejestrów i rozkazów.
Ok, sprawdziłem. W trybie z korekcją czegość takiego nie ma. Używam teraz tego trybu, bo nie wiedziałem jak wyłączyć te COMy, zeby bylo automatycznie... Teraz druga sprawa: mam dwa przyciski na przerwaniach INT0 i INT1, ale mi one w ogóle nie działają. Celem głównym jest osiągnięcie przechodzenia w tryb uśpienia i jego budzenie, ale jak już wspomniałem,...
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 nie ten, który jest przypisany w kodzie ( działa...
Witam. Chciałbym zrobić mini klawiature z funkcjami takimi jak kopiuj wklej, ale posiadam jedynie arduino uno z atmega328 i osobo atmege8, wiem że na uno jest to trudne. Dlatego ptyanie czy da sie to na atmega8?
Witam w Nowym Roku Postaram się jak najlepiej opisać problem, jak że kod duży - musiałem go dać w załączniku. Całość opiera się na Case i odpytywaniu po kolei każdego czujnika, na koniec zapis i wysłanie do klientów przez RFM12. Część czujników jest już zamontowana w "terenie", więc na czas testu ich odpytywanie jest wyłączone, a żeby to ładnie wyglądało...