Ja mam taki program zrealizowany na Atmedze8. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 40 $framesize = 40 Config Portb.1 = Output 'wyjscie triak Triac Alias Portb.1 Config Rc5 = Pind.7 'rc5 pin timer0 Dim Level As Word 'poziom sciemniania 1 - 20 Dim Timer_val As Word 'wartosc timer1 dla sciemniania Dim Command...
nadajnik: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 16000000 $baud = 19200 $hwstack = 40 $swstack = 20 $framesize = 40 '=== Declare sub routines Declare Sub R_register(byval Command As Byte , Byval C_bytes As Byte) Declare Sub W_register(byval C_bytes As Byte) '=== Constante === 'Define nRF24L01 interrupt flag's Const Idle_int = &H00 'Idle,...
http://obrazki.elektroda.pl/9209500600_1... O tym, że większość padów do PEGASUSa często ulega uszkodzeniu, nie trzeba nikogo informować. I nie chodzi tu o uszkodzenia kabla czy też wtyczki, ale układu scalonego będącego w padzie. Zwykle uszkodzenie objawia się: * całkowitym brakiem reakcji na wciśnięcia klawiszy, * niedziałaniem niektórych...
Interfejs CobraSPI wstępnie uruchomiony. Wysyła znaki oraz odbiera swoją transmisję. https://obrazki.elektroda.pl/4256100500_... Filmik. Na ekranie są dwa znaki. Pierwszy od lewej to znak wysłany, drugi to znak odebrany. W środku filmiku następuje rozsynchronizowanie nadany/odebrany ponieważ na chwilę została odłączona zwora między...
A gdzie jest obsługa przerwania?
Kod wgrany nie znaczy, zachowuje się zgodnie z kodem, jest delay na 10 sekund. dodatkowo to kwestia ustalenia używanych pinów, niektóre są już zajęte. ale to pierdułka. Dodano po 33 (at)margas60 staraj się używać portów które mają wyprowadzenia blisko siebie, bo zmiana w kodzie to żaden problem, a plątanina kabli już problemem jest - łatwo o pomyłkę.
Podłączyłem JTAGICE mkII do Atmega 32 w komercyjnym urządzeniu żeby ocenić czy procesor nie jest uszkodzony i jakiś cudem po moich eksperymentach procesor okazał się wyczyszczony. Przy pierwszych odczytach lock bity miały wartość 0xC0 (wszystko zablokowane), przy kolejnych zrobiło się 0xFF. Praktycznie urządzenie jest już stracone, procesor wyczyszczony...
Cześć, Mam podłączony do atmegi zewnętrzny oscylator 16 MHz z dwoma kondensatorami 22pf. Gdy w moich projektach na początku definiowałem #define F_CPU 16000000UL, delay 1 sekundowy trwał u mnie o wiele dłużej. Zrozumiałem, że pewnie wchodzi o fuse bity. Zmieniłem w AVR Labie na lfuse = 0xff; hfuse = 0xde; efuse = 0x05, czyli tak jak są zdefiniowane...
Chcę aby na Attiny 2313a i Atmega 8a był program z użyciem millis , nie delay , w j.C ,i aby nie było to w Arduino. Multiwibrator astabilny bez delay a z millis na PB3 i PB4 ,zmiana polaryzacji między tymi pinami co 64 sekund ,lub koło 64 sekund. Taki program jak poniżej w j.C ,(nie Arduino ) , tylko bez delay a z millis [syntax=c]#include <avr/io.h>...
Witam, Dzięki za wsparcie, już sobie poradziłem, trochę na około, bo z użyciem goto. Delay w przerwaniu po to, aby wyeliminować drgania styków. Nie wiem jak to inaczej obejść. Z goto raczej sobie nie poradziłeś. Drgań styków nie wyeliminujesz. Najprościej, to nie reagować na drgania tych styków. Standardowa i nudna odpowiedź: zacznij od algorytmu, bo...
(at)R-MIK Robienie krótkich impulsów na timerze w ATMega jest bez sensu, bo ten timer nie ma trybu one-shot. Do tego celu trzeba kreatywnie wykorzystać inny układ peryferyjny... Oczekujesz, że podeślemy ci gotowy kod, który ty pod swoim nazwiskiem opublikujesz jako przełomowe odkrycie?:) Może by i tak było, gdybyś w międzyczasie nie zraził do siebie...
Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); TCCR0 |= (1<<CS01) | (1<<CS02); TIMSK |= (1<<TOIE0); TCNT0 = 131;...
Bardzo dziwna sprawa z tym delay bo w tym samym projekcie używam biblioteki do obsługi wyświetlacza HD44780 by Radzio i działa tam też jest użyta funkcja delay i działa poprawnie
Może i działa, ale parę bzdur masz w tym kodzie. volatile w deklaracji argumentu funkcji jest bez sensu. Nikt tego argumentu nie ma szans zmienić. ATmega pracuje z zegarem max. 20 MHz, czyli okres 50 ns. Co ma niby robić ten delay ze ZMIENNOPOZYCYJNYM argumentem? Wykonanie jednej instrukcji przez ATmegę zajmie więcej czasu niż ma wynosić to opóźnienie....
Zdziwienie- nie. Ale mateusz powinien się uczyć prawidłowo programować- więc bez goto i delay. No- delay i goto- może potem.
Witam Nie wiem co to za silnik, ale trudno będzie zaobserwować cokolwiek jak traktujesz silnik dość szybkozmiennym przebiegiem piłokształtnym ( wartość test zmienia się 10 razy na sekundę ) jak na typowe bezwładności silników. Nie wnikam czy delay jest cool w programach, ale jak zwiększysz delay do 1000 to może coś zauważysz. Druga sprawa to Fast PWM,...
Jakie środowisko? ATmelStudio5/6? Jeśli tak to musisz wejść w opcje kompilatora i zdefiniować globalnie stałą F_CPU. Kilka razy już o tym na forum zdaje się pisałem, nawet gdzieś screeny były. Bo takiej definicji plik z delay może nie widzieć...
Dlaczego delay jest poza forem.Podzielnik powinen byc 20 (0-19).
Tak, jak najblżej µC. Port delay znajdziesz w zakladce "Programmer".
Witam, Wykonałem na module uruchomieniowym Atmega ver. 2 sterownik do dwóch unipolarnych silników krokowych. Na porcie A Atmegi podpiąłem mikrostyki, port B połączyłem z układem ULN2803, wyjścia ULN2803 podpiąłem do silników krokowych. Kiedy naciskałem mikrostyk, na port B wyprowadzana była sekwencja, która obracała silnikiem krokowym do momentu zwolnienia...
https://obrazki.elektroda.pl/3176495900_... Nadal nie rusza. EDIT: Tak w Arduino IDE mam wybraną Atemege 324P, ponieważ podmieniałem sygnaturę z P na A, bo wcześniej avdude wyrzucał błąd, że nie widzi wersji A a podmienieniu wgrywał program normalnie, #---------------------------------------... # ATmega324P #---------------------------------------...
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 użyj płatnych, niedoskonałych jak napisał (at)kamyczek...
Witam! Docelowo musze stworzyc program do transmisji szeregowej wykorzystujacy 2 USARTy. Stad moj wybor padl na Atmega162. Poniewaz bedzie to transmisja z predkoscia 9600b/s na zaprojektowanej plytce znalazl sie kwarc 7,3728MHz. Poniewaz dopiero zaczynam z uC pierwszym programem jaki wgralem aby sprawdzic czy wszystko dziala byl znaleziony na http://www.avrtutor.com/tutorial/thermo/...
Witam, mecze sie z tym problemem juz od dwoch dni i nie moge znalezc rozwiazania... mam polaczone USB z atmega w ten sposob: http://obrazki.elektroda.net/47_12487581... Terminal ustawiony tak: http://obrazki.elektroda.net/83_12487582... http://obrazki.elektroda.net/6_124875824... I nic sie nie wyswietla po nacisnieciu polacz......
Opiszę dokładniej: Atmega 328 kwarc 16Mhz. Próbuję złożyć sterownik do pieca na ekogroszek z regulacją fazową dmuchawy. Nigdy wcześniej nie korzystałem z przerwań i nagle mnie to przerosło, brak dostatecznej wiedzy. Przykładem takiego sterowania może być np. Sterownik Tech ST-37 na Atmega16. Obroty dmuchawy działają płynnie, czas podawania węgla itp....
Witam, bardzo proszę o pomoc. Zrobiłem układ na Atmega32 z podłączonymi diodami do całego PortuA, oraz do PortuB Pin2 (PB2) dekoder podczerwieni TSOP31236 (testowałem też na TSOP31238). Wykorzystać chciałem bibliotekę IRMP https://obrazki.elektroda.pl/6945425800_... a w załączniku spakowany cały projekt z plikami biblioteki irmp.
Już wszystko działa. Dziękuje wszystkim za pomoc. A tak poza tym to delay w przerwaniu wpisałem tylko dlatego, że myślałem że pomoże a w innych programach nie zamierzam używać delay w przerwaniach, a w programie głównym też zamiast delay stosuje funkcje do odczytu czasu i instrukcje if co daje o wiele lepszy efekt.
nadal nie zrozumiałeś [syntax=c] if (przycisk włączony) delay if (przycisk włączony) do something (tab = pind) [/syntax]
Witam wszystkich serdecznie ; ) Od niedawna rozpocząłem swoją przygodą z mikro-kontrolerami ;] Zakupiłem płytkę startową EVBavr05 z Atmega16 i wgrałem bootloadera żeby móc sobie pięknie programować mój układ przez rs232. Uczę się chyba z dość popularnego kursu online: http://hobby.abxyz.bplaced.net/index.php... i z niego właśnie pochodzi...
Dziękuję za uwagi odnośnie kodu, rzeczywiście for(;;) nie jest potrzebny. Sorry za moje pytanie: delay jest w kodzie tylko wtedy, gdy PIN realizuję przyciskiem mechanicznym podczas testowania kodu; a pytanie - co oznacza "ifa"?
Dobry wieczór,borykam się z problemem poprawnego wgrania bootloadera jak i kodu programu dla układu Atmega88PA w obudowie TQFP32. Układ jest już wlutowany na płytkę do programowania używam przejściówki kanda ISP na 6 pinów. Co ciekawe sprawdzając podłączony avr w programie mkAVR Calculator atmega jest poprawnie wykrywana to też odrzuciłem(mam nadzieję)...
Myslalem tez nad czyms takim . 1.Narastajace zbocze na INT0, start timera ostawionego na przepelnienie po 1 ms i w przerwaniu od przepelnienia ustawiam PA2 na 1, a petli głownej sprawdzanie stanu PD2 pod katem wystapienia stanu niskiego i ustawinie PA2 na 0 drugi sposob 2. Bez przerwan, tak jak mialem na poczatku w programie z delay tylko ze po pierwszym...
Mam problem z tranmisja AVR->PC. Uzywam ATmega32-16PU(at)10MHz, zew. krysztal. Fusy ustawione highbyte 0xC9, lowbyte 0xFF. Zasilanie 5V, kowerter poziomow to MAX232N, piny podpiete tak ATMEGA MAX232 input MAX232output PC RS TXD T2IN T2OUT RX ( pin 2) RXD R2OUT R2IN TX (pin3) GND (pin5) Kod programu testowego: #define BAUDRATE 64 // 9600 at 10MHz...
Witam wszystkich, Chciałbym obsłużyć wyświetlacz RG160160a (celem ostatecznym jest zbudowanie analizatora widma akustycznego). Jest on obsługiwany przez wspomniany wcześniej kontroler (4 sztuki są na PCB). Problem, z którym nie mogę sobie poradzić polega na tym, że nie mogę stworzyć wierszy, które by się różniły między sobą układem kropek. Kiedy przychodzi...
Witam W jaki sposób mogę określić punkt startu dla wyświetlacza widmowego? Chodzi mi o coś takiego jak na tym filmie(6:26): https://youtu.be/57carjNxI9A Tutaj jest cały program: http://www.instructables.com/id/How-to-M... Z tym, że ten projekt jest na arduino i czujniku halla, a ja mam transoptor podłączony do...
witam , posiadam arduino UNO na chińskim chipie ch340, z atmega 328p przy próbie wgrania szkicu cały czas mam problem z komunikatem avrdude: arduino_read_sig_bytes(): (a) protocol error, expect=0x10, resp=0x90 avrdude: error reading signature data for part "ATmega328P", rc=-3 avrdude: error reading signature data, rc=-1 połączyłem na pająka programator...
Witam W jaki sposób mógłbym zmienić wyświetlany tekst/obraz w programie: //(at)(at)(at)(at)(at)(at)(at)(at)(at)(a... // This programe for POV massage display // // For Active LOW // // Anticlockwise // // Using Atmega16...
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 i 2000 jako argument nie przyjmie. Według...
Witam ponownie. Nie zauważyłem tego, ale jeszcze się przyjże. Robiłem pomiary częstościomierzem z funkcją licznika, za i podstawiłem 120 a delay skróciłem do 1ms, tak aby uzyskać częstotliwość 5kHz i licznik za każdym podłączeniem do żródła zasilania - pokazywał 120... Może próbowałeś w jakimś poważniejszym układzie, bo mój to tylko Atmega 8 i led przyłączona...
Robie zegarek na ATMega8 i robie go wlasnie na funkcji delay pokazanej powyzej czy to znaczy ze moj zegarek bedzie nie dokladnie odmierzal czas?? jak musze uzyc kwarca to jak go podlaczyc?? Prosze o pomoc jestem poczatkujacy.
Witam W jaki sposób mogę przenieść program TriangleWave.ino z tego linku: http://www.instructables.com/id/How-to-M... na ATmegę16A? Wygląda on tak: http://obrazki.elektroda.pl/4752241700_1... Schemat mojego układu daję w załączniku. Na moim schemacie brakuje transoptora TCST1103(dodałem go jakiś...
Witam. Od paru dni próbuje uruchomić czujnik temperatury niestety bezskutecznie (w ogóle nie jest wykrywany przez funkcje ow_reset). Dlatego tez byłbym bardzo wdzięczny za wszelkie sugestie. Atmega pracuje z częstotliwością 1Mhz. Czujnik jest podpięty pod 6 pin portu d. Z góry dziękuje. #include <avr/io.h> #include <util/delay.h> #include...
Jasne, program sprawdzony na ATmega 32, rezonator 8 MHz. void delay(unsigned int tau) { unsigned int tau2=tau; do {asm("nop"); //wstawka asemblerowa } while(--tau2); } unsigned char ow_reset(void) // reset lini one wire { unsigned char presence=1; sbi(DDRD,3); //DQ = 0; //pull DQ line delay(245); // leave it low // wystawienie na czas 490us "0" na linię...
Zamiast wstawiać argument do delaya umieść delaya w pętli for ze stałym argumentem. Zmienna zawsze znajdują się w SRAM. Ale stałe można umieścić w pamięci programu.
http://obrazki.elektroda.pl/7218266900_1... 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...
zatem tak procesor atmega16, zaprogramowałem atmege na pomiar ciągły i mam bardzo dziwny problem, atmega połączona przez UART do komputera, zczytywanie w labview. tam trzeba ustawić takie coś jak delay before raad(ms), w kodzie na atmedze ustawiłem _delay(100), w programie tez, i mam bardzo dziwny problem, nic nie jest podpięte do przetwornika, powinna...
Tak. Przede wszystkim to. Podciąganie pull-upem wewnętrznym wystarczy, to już jest zrobione (0 w DDR i 1 w PORT). Ten delay przed pierwszą pętla zupełnie niepotrzebny. Nie wiem jak ten program ma działać, z tego co widzę to po wciśnięciu przycisku dioda będzie cały czas migać mimo zwolnienia go. Jeżeli ma migać tylko gdy przycisk jest wciśnięty to tak:...
ten warning nie działa myląco. Przecież przed zaincludowaniem pliku nagłówkowego definiujesz swoje F_CPU, ale nie będzie ono widoczne w pliku nagłówkowym wyświetlacza. Rozwiązaniem jest pisanie w każdym pliku definicji F_CPU. Ale tak się nie robi bo jest to mega bez sensu i nigdy tak nie rób. Żeby ustawić stałą F_CPU globalnie, trzeba to zrobić w pliku...
Dziękuję bardzo za tak wyczerpującą podpowiedź. Jest to mój pierwszy kontakt z wymianą danych przez SPI, dlatego tez proszę o wyrozumiałość. Troszkę zrozumiałem ideę SPI, ale jednak dalej nie bardzo rozumiem jak odebrać te dane. Mój program wygląda tak: Set Portb.4 Reset Portb.4 ' ustaweinie stanu niskiego na cs Delay ' opóźnienie Spiout Word_b1 , 1...
Potem, po kilku próbach podłączania z kwarcem i bez niego jakoś znowu zadziałało, znalazłem też błąd na płytce. Ale jak próbuję wykonać to polecenie do zmiany fusebitów to dalej są problemy: # avrdude -c bascom -v -p m8 -U hfuse:w:0xd9:m -U lfuse:w:0xe1:m avrdude: Version 6.3 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/...
Zastosowałem się do twoich rad stworzyłem klasy uC tak, żeby nie definiować na początku biblioteki port.h tylko w ustawieniach projektu musi być wybrany mikrokontorler: https://obrazki.elektroda.pl/8543232300_... cały plik port.h wygląda następująco pogrubiłem te zmiany które wprowadziłem: #if defined (__AVR_ATmega328PB__) #define UCSRB...
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 wektory przerwań dla SPI są takie same dla A8 i A16...
Dzień dobry, Mam problem z klawiszami. Zedytowałem do własnych potrzeb fragment kodu znaleziony na http://mikrokontrolery.blogspot.com/ [syntax=cpp]ISR(TIMER0_OVF_vect) { sei(); static uint8_t stan_przyciskow_najstarszy , stan_przyciskow_stary , stan_przyciskow_nowy; stan_przyciskow_najstarszy = stan_przyciskow_stary; stan_przyciskow_stary = stan_przyciskow_nowy;...
Witam. Testowałem sobie różne opcje oszczędzania energii i trochę za szybko wgrałem program zmieniający częstotliwość taktowania za pomocą komendy CLKPR , przez co teraz nie mam komunikacji z mikrokontrolerem - nie mogę wgrać innego programu, bo dostaję błąd: avrdude: error: programm enable: target doesn't answer. 1 avrdude: initialization failed, rc=-1...
Problem jest taki że na symulatorze kod działa tak jak powinien, a na uC nie działa "menu" programu(funkcja Program) tylko od razu przechodzi do wykonywania pierwszej funkcji(funkcja Count). W ogóle atmega jakby nie reagowała na żadne przyciski. Zamieszczam kod programu: [syntax=asm].INCLUDE "m32def.inc" .EQUSYS_FREQ = 1 ldiR22, 0xFF ; set PORTA as...
W czym napisany jest program? C, pisałem w AvrStudio 4.18, kompilator AVR-GCC. Ale lepsze pytanie nie w czym ale jak? Pomijając proste programy, piszę używając maszyny stanów. Dzięki temu mam coś w rodzaju multitaskingu podobnego jak w Windows, tyle, ze się nie wiesza. W tym programie są dwa _delay. Jeden 50us po wysłaniu danych do WS2812 aby zagwarantować...
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 rejestrów, flag np. słowa stanu (odpowiednik...
a to nie jest tak że przerwanie blokuje inne przerwania samo z siebie? Musisz to zrobić Sam. wydawało mi się że właśnie jest jak mówię (co nie zmienia faktu że delay tam był zbędny ale jak mówiłem jest to wersja pod nazwą "rozpaczliwa" ;) ) Tak więc zanim dondu się wypowie przytoczę jego artykuł ;P (mam nadzieję że dobrze go zrozumiałem) dasej . Wurzuciłem...
sama pętla for dodaje jeszcze 3 cykle zegarowe, popatrz na liczbę wykonań pętli dla 8MHz zegara pierwsza to 70*3/8000ms + 70*1ms = 26,25µs + 70 ms druga 70000*3/8000ms + 70ms = 26.25ms + 70ms różnica jest ogromna...
Ten kod jest pod Atmegę 32 i z tym zegarem chodzi do działa do 50 metrów, próbkowanie sygnału jest kilkukrotne w pętli ze względu na niezawodność. //--------------------------------------... // // Sensirion SHT1x Humidity Sensor Library // //--------------------------------------...
Nawet z uwzględnieniem zmniejszenia dokładności (które przy wykorzystaniu aktualnej wersji avr-gcc przy typowych opcjach kompilacji nie występuje – patrz fragment If the avr-gcc toolchain has __builtin_avr_delay_cycles(unsigned long) support w dokumentacji) te funkcje (jako same w sobie) są całkiem niezłe. W praktycznych zastosowaniach ich niedokładność...
Ten Delay jest do przycisków- nie do opóźnień w pętli itp.. Wieczorem sprawdzę jak jest w PE na ścieżkach i porównam z dokumentacją. Dodano po 6 W dokumentacji nie pisze, gdzie jest A1, a gdzie A2- z tej dokumentacji korzystałem budując układ.
Problem rozgryzłem polegał na błędach wynikających z zastosowanego przeze mnie polecenia delay z nieznanych mi przyczyn nie działał tzn nie powodował żadnego opóźnienia. Zastosowałem procedurę zawartą w winavr. Reszta programu jest poprawna wystarczy wysłać po kolei wszystko co generuje dds configurator tzn te 128 w paczkach po 16 bitów(program umieszczony...
Dalej nie idzie. Używając userport w lewej kolumnie i w prawej usunąłem wszystko następnie wpisałem do lewej kolumny 378 - 37B. W biosie mam ustawione PARRARELL PORT 378 tryb wybrałem normal. W bascomie ustawiłem 378 port i STK 200 po wciśnieciu F4 dalej nie widzi procka. Układ jest zasilany ma wspólną masę programator też jest zasilany. Czy jak wpisze...
...Chciałbym wprowadzać z tej klawiatury kody wielocyfrowe, napisałem odpowiednia procedurę opartą o zapis kolejnych cyfr do tablicy - ogólnie wszystko jest OK. (przy szybkim naciskaniu klawiszy) , ale jak dłużej przytrzymam klawisz do tablicy jako kilka znaków zapisywana jest ta sama wartość. Jak się tego pozbyć ? CONFIG KBD = PORTx , DEBOUNCE = value...
Dziękuję za podpowiedzi. Już wcześniej był założony radiator na lm.Wg mnie się za mocno grzeje i obawiam się ,że się kiedyś się w końcu przepali. Co do płytki , to mam już wlutowane dwa przyciski start i stop, szkoda byłoby znowu coś odlutować bo tył płytki wygląda makabrycznie,co chwile coś zmieniałem i jest z tyłu "nababrane". Eliminując zbędne przyciski...
Witam Mam problem nie do przejścia, znalazłem na internecie kod do obsługi właśnie tego modelu ekranu, standardowo pisany był pod ATmega32, lecz pod ATmega8 również ma działać. Rozpocząłem naukę poruszania się po Eclipse, wcześniej pracowałem na "Programmers Notepad http://obrazki.elektroda.pl/8462891800_1... Konfiguracja pinów w bibliotece...
Witam, poruszałem już temat bardzo wolnego startu procka atmega 8 lecz do dziś nie wiem czym to zwalczyć. Używam bascom demo do pisania i kompilacji. Podaję ustawienia fusebitów, na mój gust chyba prawidłowe: name-mega8 callibration 0 BA callibration 1 BB callibration 2 B4 callibration 3 B5 lock bit 65 - 11 lock bit 43 - 11 lock bit 21 - 11 fuse bit...
Jesli masz szybki procesor w PC, to ustaw delay gdzies na 5-10, procek się bedzie wolniej programowal, ale powinno się udac, spróbuj Raczej nie tu problem... ;) Jakby tak było, ATmegę też by nie ruszyło... Domniemam, że Atmega biega na własnym wewnętrznym, fabrycznie ustawionym zegarze 1 MHz i da się zaprogramować, nawet, jak kwarc wymontujemy... Pozdr....
Witam, próbuję wgrać program do mikrokontrolera ATMEGA 328P w kompilatorze Arduino. Podczas wgrywania mam taki opis poleceń: [syntax=actionscript]avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Users\mszoz\Desktop\Arduino\arduino-...
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 A oraz Print "1" Wg ASCII < 1 > ma kod 49 i chyba w jednym i...
witam Próbuje wysłać do urządzenia paczkę Hex Np:{ 0x50 , 0x04 ,0x68 , 0x32, 0x11 , 0x1F } Parametry jakie paczka musi spełniać.Szybkości transmisji 9600 bitów na sekundę. Protokół komunikacyjny jest 8 bitów danych, 1 bit stopu http://obrazki.elektroda.pl/1957360300_1... To otrzymuje na Monitor Portu Szeregowego ale na magistrali widzę...
Dzięki Przejrzałem sporą część Twoich opracowań. Jest tego tyle, że starczyło by na niezłą "cegłę". Naprawdę są pomocne, szczególnie podoba mi się sposób przedstawiania uwag - czytając nie sposób ich zignorować. Aby uruchomić mój USBasp (działający z WINAVR), pozwoliłem sobie skorzystać z artykułu "Jak ożenić USBasp i Atmel Stydio. Wykonałem wszystko...
Pokaż mi przykłady kodów, w których głównie wykonuje sie przerwanie a czasem program główny. Ile będzie takich przykładów w stosunku do normalnego kodu, gdzie przerwania zajmują kilka, kilkanaście czy kilkadziesiąt % czasu procesora a nie blisko 100. Jest mnostwo - wiekszosc prostych przykladow (niekoniecznie prostych pod wzgledem skomplikowania kodu)...
drzasiek dwa przerwania INT0/1 mam zajete na czujnik, ktory wysyla impulsy na atmega je zlicza i wyswietla na wyswietlaczu (takze ten wlacznik na INT odpada). Wyswietlacz do 3310 jest za duzy, chce wyswietlic tylko pare cyfr, najchatniej to polowka 3310 bylaby najlepsza. Pomysl z zasilaniem uC na 3V nie jest zly, tylko przydalby sie stabilizator napiecia...
Witam znalazłem na elektrodzie program do obsługi wyświetlacza LPH7779 (Nokia3310) na ATMega8. Wszystko ładnie dzieła przy użyciu komendy void lcd_str("xxx"); tj. zamiast xxx wyświetla to co chcę. Ale chciałbym teraz aby wyświetlał napięcie z ADC2, jednak cały czas wyskakują krzaki. Postanowiłem więc napisać krótki programik żeby sprawdzić...
A pokaż może TEN kod, który NIE działa , zamiast załączać dwa kody które działają? I co my mamy sobie z tym zrobić? Nawet nie warto go zawijać do wlasnych projektow bo jest tragicznie napisany... Jak można tak pisać case'y w switch'u?... A zadam inne pytanie: co to za badziewny switch ? Gdzie jest default: , gdzie jest zerowanie zmiennej k1? Dziwisz...
Spróbowałem wgrać trochę inny program na drugą ATmegę: [syntax=c] #include <i2c_device.h> #include <pca9635.h> #include <I2C.h> #include <Adafruit_SSD1306.h> #include <Adafruit_GFX.h> #include <SPI.h> #include <Wire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 #define OLED_RESET 4 OneWire oneWire(ONE_WIRE_BUS);...
Witam Jako że niestety spaliła mi się karta teleVGA postanowiłem wy myśleć inne rozwiązanie na obsługę TV lub monitora. Na elektrodzie było sporo tematów jak podłączyć telewizor bądź monitor pod mikroprocesor. Jedne z wykorzystaniem karty graficznej od PC ale niestety nikomu się chyba nie udało Ja znalazłem taki właśnie projekt na atmega 168 niestety...
Witam kolegów Mam problem z radiem na kostce TEA5767 od kilku dni kombinuje jak to radyjko uruchomić ale nic mi nie wychodzi układ radia zasilam 5V z Atmegi widziałem rożne wersje zasilania i na 3.3V i na 5V w datasheed jest podane max 5V czyli chyba ok Dodam tez kod który próbuje uruchomić bez skutecznie może ktoś z kolegów by miał chwilkę by mi pomóc...
Wrzucam moją wersję programu do obsługi 4 serw. W ostatnim tygodniu zakupiłem swoje pierwsze dwa serwa, więc mogłem się pobawić problemem ich sterowania. Z powodu, że mam tylko dwa, jedynie dwa kanały są sterowane z przetworników ADC. Pozostałe są obsługiwane przez przerwania, ale nie ustawiane. Wartości dla serw wpisuje się w tablicy serwa_val[]. Doświadczalnie...
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 zmieszczam cześć kodu z BASCOM-a: [syntax=jezyk_programowania]'***********...
Witam. Otóż mam nie mały problem, mianowicie mam Zestaw Uruchomieniowy EvB 4.3v4 oraz dokupiłem sobie LCD graficzny 128064-CF typu ChipOnGlass LED (White/Blue) Link usunąłem - jeden wystarczy. NOTA KATALOGOWA http://artronic.pl/o_produkcie.php?id=11... Co prawda w nocie katalogowej jest podany inny sterownik, ale dobrze działa również pod sterownikiem...
Męczę się już z tym trochę i mimo prób znalezienia rozwiązania - porażka. Układ ma być niby nic specjalnego : - sterownik jakiegoś tam urządzenia, - oparty na ATMega8, - ma sterować głównie przekaźnikami, które będą coś tam załączały (niby proste dwa stany włącz/wyłącz) według schematu : http://obrazki.elektroda.net/0_124798921... - wyświetlacz...
Poniżej zamieszczam wersje źródłowe plików kontrolera wykonanego według dokumentacji Atmel'a AVR444: Sensorless control of 3-phase brushless DC motors wykonanego na kontrolerze ATMega 48/88/168. Autor bardzo dokładnie udokumentował swoje dzieło. Funkcje static unsigned int CalculateCurrent () Calculates current consumption. static unsigned long CalculateSpeed...
Witam Przeglądałem tematy na forum ale nie znalazłem jednoznacznej odpowiedzi... Na wyświetlaczy mam tylko śnieg czyli pali się tylko podświetlenie gdy odłączę napięcie 1V8(1,75V) to pokazują się kolorowe pasy. Nie pomaga połączenie 1V8 i 2V9(2,95V) Korzystałem już z tylu kodów z forum ze nie wiem jaki wrzucić... Atmega to tak jak w temacie Mega16 taktowana...
Aby sprawdzić czy optymalizacja zmieniła kod uruchom debugowanie w AVR Studio i zobacz podgląd kodu assemblera poprzez menu View/Disassembler.
Witam, Używanie funkcji _delay_ms(); ze zmienną nie jest dobrym pomysłem. Taka implementacja zajmuje bardzo dużo pamięci. Lepiej zadeklarować funkcję np. _delay_ms(1); i wykonywać ją w pętli tyle razy ile potrzeba. Liczbę wykonań pobieramy z tablicy.Taki sposób jest zdecydowanie mniej pamięciożerny. Pozdrawiam, Marcin
Funkcja delay_ms() nie zależy od timera, więc prescaler nie ma dla niej znaczenia.
Spróbuj tak: [syntax=c] #include <avr/io.h> #include <util/delay.h> #include "HD44780.h" #include <stdlib.h> #include <string.h> #include <avr/pgmspace.h> int main(void) { char *LINE = PSTR("Jakiś tam sobie tekst"); char i=0; LCD_Initalize(); LCD_Clear(); LCD_GoTo(0,0); for(i=0;i<10;i++) { LCD_WriteData(pgm_read_byte(LINE+i));...
Zmień delay na 250 ms...
Ja postaram się Ci pomóc... Teraz jestem w pracy, więc nie przeanalizowałem dokładnie - od razu mówię. Spróbuj wyłączyć bibliotekę od delay'ów i napisać kawałek kodu, ale zamiast _delay_ms użyj jakiejś pętli w pętli. Kilka dni kiedyś dochodziłem, co mi nie gra w programie i się okazało, że to właśnie to bruździło (wyszło w końcu na debugerze). To tak...
Ja bym na twoim miejscu najpierw zrobil tak: - napisalbym prosty program migania ledem - w AVR studio trzeba wybrac jaki sie ma procesor i jaki kwarc (lub uklad RC) - nastepnie wyslac program do procka - tez trzeba wybrac jaki to procek Jak atmega jest nowa to nie zawsze trzeba zmieniac FUSE bity zeby zaswiecic diodke - pojdzie na wewnetrznym RC ale...
To co zrobiłeś nie miało prawa zadziałać z wybraną płytką NG, ona ma ustwienie na kwarc 16MHz: c:\Program Files (x86)\Arduino\hardware\arduino\avr\board... ... ########################################... atmegang.name=Arduino NG or older atmegang.upload.tool=avrdude atmegang.upload.protocol=arduino atmegang.upload.speed=19200 atmegang.bootloader.tool=avrdude...
Brakuje klamer, być może miało być tak: [syntax=c]#define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { DDRD = 0xff; DDRB = 0x02; DDRC = 0x00; PORTC = 0x03; while(1) { if(!(PINC&(1<<PC0))) { if(!PORTD) { PORTB |= 0x02; _delay_ms(100); PORTB &= ~0x02; } else { PORTD >>= 1; _delay_ms(80); }...
Treść Twojego programu nie odpowiada założonej funkcjonalności. Podobno chcesz, żeby silnik śledził położenie potencjometru, a tymczasem robisz coś zupełnie innego - wykonujesz pewną liczbę kroków w zależności od różnicy dwóch kolejnych pomiarów ADC. Zacznij od przerwania timera, zgłaszanego z okresem kroku. W nim odczytaj ADC i przefiltruj (obecnie...
Wypróbuj ten kod: [syntax=c] #define F_CPU 16000000 #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> //-------LCD------------------------ #define LCD_ADDRESS (0x7C) /* * LCD_commands */ #define LCD_CLEARDISPLAY 0x01 #define LCD_RETURNHOME 0x02 #define LCD_ENTRYMODESET 0x04 #define LCD_DISPLAYCONTROL 0x08 #define LCD_CURSORSHIFT...
Żabek to nie wstawiaj komentarzy. Utwórz kopię pliku delay.h a potem napisz na szybkiego swoją wersję z zwartością TYLKO taką i nic więcej: void _delay_ms(double __ms) {} void _delay_us(double __us) {} I po tym -O0 powinno śmigać. Jest to niezbyt ładne, ale skuteczne i trwa moment oraz nie wymaga szerszej wiedzy....
Odrzucanie pierwszego wyniku, czy też serii wyników, to tylko proteza do źle zaprojektowanego algorytmu. Takoż samo algorytm używający jakiegoś opóźnienia (nie piszę o delay). Jak komuś zależy na dokładności, to nie używa wbudowanego, powolnego i mocno ograniczonego ADC A to jest demagogia, w obronie jakiś dziwnych tez. Zresztą opóżnienie Ja piszę...
Kod jest poprawny. Czy w projekcie masz wybrany prawidłowy procesor? A co do delay to pewnie masz źle ustawione F_CPU.
delay atmega funkcja delay relay delay
kondensator mniejszy zasilacz dział kinga vaillant odpowietrzanie kotła
Przerywanie dźwięku przy zmianie głośności – potencjometr, wzmacniacz, Bluetooth, TPA3116, Sonos Electrolux EMT2527OX – uszkodzony wyświetlacz, naprawa, typowe usterki, wymiana kondensatorów