Zastanawiam sie czy w winavr nie wystepuje blad podczas stosowania petli "while". Mianowicie podczas stosowania petli while z oczekiwaniem na zmianę wartości zmiennej w przerwaniu w glownej petli okazuje sie ,ze program sie zawiesza. Fragment kodu: ... while (! temp); ... Z listuingu wynika : ..... .L058 lds r25,temp .L059 tst r25 breq .L059 .... Z...
Do zrealizowania na zaliczenie kursu był program wykorzystujący timery i przerwania do pomiaru czasu. W skrócie wprowadzamy czas w void start(void)//rozpoczecie odliczania { sprintf(message,"Odliczanie "); message[15]=' '; LCD2x16_clear(); display(message, false); //konfiguracja timerow TCCR1B |=...
Proszę o pomoc co zrobić by po tym jak i bedzie większe niż 5 -->> PORTB ^= (1<<PD1); zapalał się "wprowadzał stan wysoki ale nie gasł po chwili gdy petla przechodzi do kolejnej czynności -- czyli jak zablokować jego stan ... mam nadzieje że rozumiecie chodzi o fragment pogrubiony /* "led.c" - programik do testowania środowiska WinAVR */...
nie lepiej zamiast tego "goto" dać zapętlany kod do tego while? ad2. While(1); samo w sobie jest pętlą nieskończonąi pustą dlatego jak program dojdzie do tego miejsca to tak jakby wykonuje nic az sie procek nie spali :P Jednak do tej pętli mozesz sobie coś wrzucić (jak zrobiłem poniżej) i wtedy mkontroler będzie to wykonywał. To co jest przed tą pętlą...
...rozumiem, że nie powiesz mi jak to poprawić ;) Nie znam tego kompilatora i jego dyrektyw. W "moim" microchipie próbowałbym wstawić w pętlę while() funkcji czas instrukcję assemblera: _asm nop _endasm Pozdrawiam Mariusz
_delay_us() ... The maximal possible delay is 768 us / F_CPU in MHz. czyli, że przy 16mhz mogę maksymalnie dostać opóźnienie 48us ? :) Balu napisałeś "ramki" czyli w moim przypadku 3 bajtów? :) no bo jesli można w 1 przerwaniu pobrać całe 3 bajty to przestawie sie na przerwania:) cos takiego? przerwanieUart { if (bajt 1(udr) == synchro)...
Sugeruje za pętlą główną dodać return 0; Program po wykonaniu sie musi zwrócić wartość do systemu ;) (oczywiście tu go nie ma, ale to taki archaizm ze starych czasów ;) ) Poza tym przed 'include' należy dodać znak '#' I jeszcze pytanie, dlaczego w pętli głównej ustawiasz stan na porcie c, skoro zrobiłeś to już wczesniej? Dodano po 4 Poprawny kod (winavr...
Witam Nie działa mi ten program: #include <avr/io.h> #include <avr/interrupt.h> int main(void) { int a1=0,a2=0; DDRD = 0xFF; PORTD = 0xFF; while(1){ PORTD = 0xFF; //petla opozniajaca for(a1=0; a1<2000; a1++){ for(a2=0; a2<1000; a2++) { } } PORTD = 0x00; for(a1=0; a1<2000;...
Faktycznie głupota wykonywać funkcje trwające kilka minut w przerwaniu ;] (ahhh te początki ;d). Twoja procedura obsługi INT1 bije na głowe wszystkie inne, bo nigdy się nie kończy (while(1) ...) Zastosuj pętlę główną w main + automat stanów. Poza tym przy takiej zawartości pliku "globals.h" każdy moduł (plik .c) projektu będzie miał własną kopię zmiennych...
Słyszałem o eclipsie, można w nim chyba zrobić wszystko od baz danych,php, htmla, c++ itd aż po mikroprocki, nieźle :P tylko że na laborkach z systemów wbudowanych mamy właśnie WinAVR i AVR-Studio a jeśli chodzi o ten błąd kompilacji który u mnie zawitał to nie da się jakoś go rozwiązać ? ps. mirekk36 zaproponował mi następującą literaturę: http://atnel.pl/wydawnictwo...
Dołączam się do tematu. Używam WinAVR. Próbuję kompilować ćwiczenie numer 10 z książki Dolińskiego i niestety mam problem. Po długim czasie walki, znalazłem ten post i dołączyłem utils/depreaced.h; pozostał mi już tylko jeden błąd. main.c:137: undefined reference to `PRG_RDB' Funkcja, w której występuje błąd wygląda następująco: void pisztekst(char...
Użyj jakiegoś timera i przerwania, powiedzmy TIMER0. Policzmy trochę. Zakładam zegar 8Mhz. Jezeli uzyjemy preskalera 256 to czas co jaki zostanie wywołane to przerwanie to 256*256/8000000=0,008. Ilość taktów co jakie zostanie wywołane przerwanie to 256*256=65536 (pierwsze 256 wynika z tego, ze licznik jest 8 bitowy drugie to preskaler) Żeby odliczyć...
Mam kod w którym ustawiłem wszystkie porty tak jak na schemacie podłączyłem również piny 30 do VCC i 31 do masy i dalej nie ma komunikacjiz LCD co jest jeszcze nie tak proszę o pomoc. //Program w tym przykładzie realizuje obsługę alfanumerycznego //wyświetlacza LCD w trybie 4-bitowym: #include <avr/io.h> // //linie danych PA4-7 #define LCD1...
Witam. Widziałem dużo ciekawych projektów na µC na elektrodzie i nie tylko, nie ukrywam, że mi się to bardzo spodobało, ale sam nie wiedziałem z której strony to ugryźć. A w związku z tym, że chodzę do technikum elektronicznego, i już jestem w III klasie, dostałem projekt do wykonania. Chciałem oprócz tego projektu #include <reg51.h> /*inicjacja...
Witam ponownie. Jak się spodziewałem problemy wystąpiły:/. Dodałem obsługę pozostałych dwóch przycisków i praktycznie rzecz biorąc wróciłem do punktu wyjścia. Co gorsze nie zapisałem kodu, który działał, więc nie wiem, gdzie leży błąd. Próbowałem go odtworzyć z pamięci, ale nic nie wychodzi:/ Najpierw aktualny kod: Zmodyfikowana funkcja Freddiego Chopina...
Witam ! Na początek pochwale się kodem który wymodziłem z pomoca kilku stronek o tematyce lcd: #include <avr/io.h> // #define LCD PORTA #define E 3 #define RS 2 // #define SET_E LCD |= _BV(E) #define CLR_E LCD &= ~_BV(E) // #define SET_RS LCD |= _BV(RS) #define CLR_RS LCD &= ~_BV(RS) // funkcja opóźniająca...
To nie jest dyrastyczne działanie. Wiesz ile takich ostrzerzeń byś miał? Nie? Policz ile zmiennych masz w programie... Każda z nich może mieć i nie mieć sensu ale to jest C a nie pascal, żeby pisał wszystko. Wyobraź sobie 1000 linii kodu, gdzie specjalnie piszesz while(1) i co? dostajesz 800 warningów? A tak na poważnie ZbeeGin poczytaj o parametrach...
Witam mam problem z kompilacją bibliteki uart.c Peter Fleury-ego którą wykorzystuje w moim programie. Probram uart.c dodałem do mojego projektu. Przypomnę że programu Petera nie zmieniałem a w pliku makefile dodałem uart.c do p-lików któr powinny podlegać kompilacji. Możeci mi pomóc i powiedzieć co jest grane gdy w wynku kompilacji dane są taki oto...
Witam Serdecznie, Jestem początkującym, że tak powiem użytkownikiem forum, chciałbym rozpocząć programowanie mojego procesora atmega16, jednak za nim to zrobię muszę mieć pewność, że procesor został dobrze skonfigurowany oraz połączony (fuses, itd.). Programuję w C. Głównie na początek chciałbym obsługiwać wyświetlacz. O to mój schemat: http://obrazki.elektroda.net/87_12135354...
Witam Od kilku dni staram się uruchomić program z książki Mikrokontrolery AVR w praktyce. Po dodaniu makr sbi i cbi program się skompilował, ale kompilator zwracał ostrzeżenia: Repeated variable name __c Repeated variable name __c within block. Rename it typedef debugging not supported COFF file contains inconsistencies or unsupported features. Debug...
Witam Piszę w C, WinAVR, pony prog, STK 200 Zwracam się do was z prośbą o pomoc w rozwiązaniu problemu, wziąłem się za programowanie i w ramach nauki, zapoznania się z AVR obmyśliłem popełnienie takiego czegoś: Docelowo: - pomiar temperatury - 3 czujniki lm 35 - wysterowanie 3 wentylatorów PWM - sterowanie automatyczne i ręczne(przyciski) - wyświetlanie...
Nie wgrywałem, ale owszem, program taki jak Ty proponujesz będzie działał, ale jeśli pętla w funkcji main będzie miała więcej operacji do wykonania to takie miganie może wystąpić. Swoją drogą, piszę nieco przesadzoną opinię, bo przecież nie tak trudno zaimplementować mój algorytm, a wtedy wogóle zapominamy o miganiu i o tym że wogóle LED trzeba odświeżać...
Witam, właśnie udało mi się uruchomić LCD od Nokii 3310, i teraz zaczynam wyświetlać na tym LCD kolejne C-stringi. Jednak mam pewien problem z funkcją sprintf, którą używam do tego żeby sformatować np. liczbę typu int na C-string, który będę mógł wysłać do LCD, poprzez odpowiednią funkcję. Programik, który teraz piszę, ma kolejno w pętli wyświetlać...
Błagam pomóżcie! Zostało mi napisanie programu do robota na najbliższe minisumo we Wrocławiu(piątek) a nie mogę rozgryźć czujnika gp2d120 :cry: uC to attiny2313, kompiluję WinAVR, a zasada pobierania napięcia analogowego z czujnika na zasadzie podanej w książce "mikrokontrolery avr w praktyce" z płytki testowej ZL1avr mój program #include <avr/io.h>...
petla while winavr while arduino while
samsung bluetooth atest alarm atmega różnica
zlecę montaż elementów elektronicznych zlecę montaż elementów elektronicznych
EPCOS B43405 – zakres pojemności kondensatorów elektrolitycznych serii B43405 Audi A1 S-line – zamiana felg 17" 215/40 R17 na 15" stalowe: jaki rozmiar opon wybrać?