Moze inaczej wyswietl_muzyke->Text="ala" wpisuje do kolejki wiadomosci(Message Queue) pare wiadomosci. dopoki nie wyjdziesz z funkcji to glowna petla nie rozesle tych wiadomosci. Czyli nie zobaczysz efektu. button1 moj blad. PS. Wiem ze troche dziwnie pisze.
powinno byc cos takiego (to tylko fragment kodu) dim znaki(19) as byte dim licznik as byte licznik=0 enable interrupts enable urxc on urxc odbierz 'jak odbierze znak to przerwanie do:loop:end 'glowna petla tu robisz co chcesz odbierz: znaki(licznik)=inkey()'o... znak trafi do tej zmiennej incr licznik if licznik...
Trudno cos wskazywac - bo program jest tak prosty ze glowa boli. Glowna petla to zaledwie 6 instrukcji wysylajacych tablice na Port B... do tego w przerwaniu prosta obsluga komunikacji z PC ktora w twoim wypasku jest cala do wywalenia. Zreszta przerobka zalezy od tego jak bedzie wygladac docelowo elektronika. Natomiast co do tego czy ktos sie znajdzie...
Przykładowo można zrobić tak, sprawdź czy zadziała. Nie dałem powerdown ponieważ widzę że nie jest to potrzebne (bo z baterii działać nie będzie). [syntax=basic4gl] $regfile = "2313def.dat" $crystal = 8000000 Config Portd.3 = Input 'przycisk on/off Set Portd.3 Config Portd.0 = Output 'LED on/off Reset Portd.0 Config Int1 = Falling 'konfig przerwania...
Pierwsze co to bym ci polecal to zrobic na przerwaniu, masz pelno instrukcji na elektrodzie i w necie jak to zrobic. Tu masz kod jak zapomoca przycisku zapisac klawisz z pilota 'konfiguracja procka $crystal = 1000000 $regfile "attiny2313.dat" 'konfiguracje przyciskow (przyklad) Config Pinb.1 = Input Set Portb.1 Przycisk Alias Pinb.1...
Z opisu autora wynika, ze chyba nie ogranicza nasz sama szybkosc I2c ale cos z bibliotekami jest nie tak skoro ma migotanie jak rozumiem przy cyklu 2ms (ja proponowalem nawet 20ms). To by oznaczalo, ze cykl trwa znacznie dluzej bo np. czekamy na cos w bibliotece. Ale tak jak pisze Piotrus_999 byloby to cwiczenie czysto edukacyjne bo dosc trudno byloby...
tez mialem ten problem. nie dzialalo z helpa. problem tkwi w tym ze polecenia address i command musza sie znajdowac przed glowna petla ptogramu.
Robie cos takiego: Blok funkcyjny: [syntax=c] FUNCTION_BLOCK my_fb VAR_INPUT pNumberChecked: POINTER TO BOOL; END_VAR [/syntax] I glowna petla : [syntax=c] VAR checked_options : ARRAY[0..199, 0..2] OF BOOL := [200(0),3(0)]; my_fb : my_fb1; END_VAR my_fb1 (pNumberChecked:= ADR(checked_options[0, .. ]) ); [/syntax] Ale chyba to nie tak sie przekazuje....
Mam zarówno funkcje i jak i procedury. Mniej wiecej struktura programu to: Inicjalizacja glowna petla gry - zlozona z funkcji i procedur Jednak musze wrocic nie do glownej petli gry, a wyzej do inicjalizacji, wiec po wyjsciu z petlu gry mam utworzona instrukcje skoku do inicjalizacji, jednak mam swiadomosc ze to bardzo zaburza kod i chcialabym to zmienic
Takie coś jest poprawne? Przykład dla Atmega32 i 8MHz Nie za bardzo rozumiem o co chodzi z tym ATOMIC_BLCOK [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> unsigned long milisekundy; int main(void) { TCCR0 |= (1<<WGM01); TCCR0 |= (1<<CS01)|(1<<CS00); OCR0 = 124; TIMSK |= (1<<OCIE0);...
Glowna petla ( wywal 3 linijki ): Do Getrc5(a , B) 'If A = 0 Then 'B = B And &B01111111 Cls Lcd A Lowerline Lcd B 'End If Loop i powinno dzialac bez warunkowo .... a moze sie myle - ale raczej powinno dzialac
Programuję w ASM ale tylko Atmega8/16 więc wklejam ci taki przykład: [syntax=asm] .CSEG .org 0x0000 //poczatek deklaracji skokow dla przerwan rjmp _poczatek reti reti reti reti reti reti reti reti rjmp _150_timer0 //przerwanie overflow timer0 reti reti reti reti reti reti reti reti reti _poczatek: in r16, TIMSK//timer0 overflow interrupt enable ori...
Nie bardzo rozumiem... miktokontroler po nadaniu do kompa ostatniego bajtu z jakiegos printf'a ustali TI0 = 1 i wejdzie do obslugi przerwania z tego portu i przez nia przeleci nic nie robiac... nastepne przerwania nie sa generowane mimo ze TI0 = 1; TI oznacza ze bajt zostal wyslany a przerwanie generowane jest tylko raz po jego kazdorazowym ustaleniu...
uklad odczytu czetotliwosci jest prosty Timer1 preskaler na 0 INT0: 1.wylacz timer1 2.odczytaj wartosc licznika timera1 i zapisz gdzies 3.wlacz timer Glowna petla: 1.kopiuj zapisana gdzies informacje o czestotliwosci gdzies indziej 3. dokonaj obliczen (1/wartosc licznika) 2.wyswietlaj czestotli na wyswietlaczu ps: ja to bym zrobil tak na AVR ale na...
LAR1 P#0.0 jest inicjowane poza glowna petla, swiadczy o tym nawet to ze w tym samym networku co LAR1 P#0.0 mam zerowanie licznika petli, ktory zlicza tak jak ma zliczac, gdyby LAR1 P#0.0 bylo wykonywane, to mialbym takze reset licznika petli a tak nie jest. Cos tu nie tak jest w tym kodzie, chyba? Moze chodzi o to ze OPN "AnalogDane" jest za LAR1 P#0.0...
Zresetować SUB?? Chodzi ci o wyjście z suba? On Urxc Getchar Enable Interrupts Enable Urxc dim x as byte dim znak as byte X = 52 petla_glowna: gosub Wykonaj goto petla_glowna end Wykonaj: Incr Koniec if koniec=x then goto petla_glowna end if return :getchar Znak = InKey() X:=Znak return
petla glowna taka jak zaproponowana jest bez sensu. Bo i po co ona? Poza tym program i tak wpadnie w pętlę "end"...
Witam Wg mnie to pętla for która indeksuje rejestr "biegnie" cały czas niezależnie czy coś nacisnąłeś czy nie i zwiększa adres stąd błędna kolejność (tak naprawdę to losowy adres zapisu) i "puste miejsca". Proponowałbym zwiększać adres po zapisie do tablicy wciśniętego przycisku oraz dodać if`a sprawdzającego przekroczenie adresu 8. np. if(porzycisk)...
Kloszi: to co napisales chyba nie dziala do konca tak jak tego oczekujesz. Aplikacja nadal bedzie sie wieszac. Dlaczego? <Glowna petla komunikator> < ... > < otrzymano komunikat WM_TIMER > < wywolano proc obslugi timera> < sleep > < zwroc sterowanie do systemu (petli) > <koniec petli> Inne komunikaty,...
Dopisanie pętli nadrzędnej musi poskutkować. Oczywiście jej licznik musi być niezależny od liczników pętli zagnieżdżonych. Jest kilka możliwych rozwiązań, a najprostszym chyba będzie użycie stosu, czyli: .startup mov cx, 10 petla_glowna: push cx ... pop cx loop petla_glowna .exit
Witam i spiesze z pomoca :). Otoz, musisz poznac sie z pewna Pania. Nazywa sie okna glowna petla programu (ang: main loop). Inaczej mowiac, kazdy powazny program jest zbudowany na zasadzie petli, ktora powtarza ciag pewnych operacji dopoki nie pojawi sie zadanie zakonczenia programu. Schemat dla twojego programu: bool quit = false; while(!quit)...
Kolega dobrze mowi. Tylko, ze w programie moze byc wiecej niz jedna petla. Moze byc tylko jedna petla glowna. W ten sposob :P
Niestety kodu poprzedniego programu juz nie mam poniewaz udalo mi sie rozwiazac ten problem... z tego co pamietam bylo to cos takiego (fragment) ....... sw1 Alias p3.0 sw2 Alias p3.1 Dim pos As byte Config Debounce = 40 pos=1 poczatek: do 'glowna petla Debounce sw1,0, lewo,sub Debounce sw2,0,prawo,sub loop wyswietl: cls locate 1,pos lcd "*"...
Witam, a co nie dziala ? Z tego co widze to jak przycisk jest wcisniety == LOW to gasisz wszystkie LED a jak puszczony to wykonuije petle - zle - wcisniecie przycisku ustawia pewna zmienna, pierwsze wcisniecie ja ustawia drugie kasuje i tak w kolko, a petla glowna sprawdza stan tej zmiennej inaczej do wylaczenia musisz trzymac przycisk wcisniety. Cos...
Proszę o pomoc, bo męczę się z tym już któryś dzień z kolei. (Chcę nawiązać jakąkolwiek komunikację między Atmegami). Przesyłam programy na mikrokontrolery: Na Atmegę8: #include <avr/io.h> #include <util/delay.h> void delay_ms(int ms) { volatile long unsigned int i; for(i=0;i<ms;i++) _delay_ms(1); } void...
... Mozliwe ze mam błedy w kodzie. Wykrywa mi 2 czujniki, ale temperatury sa takie same. Gdy przeliczam CRC nic niepojaiwa się na LCD. Ano są błędziki :wink: Przeanalizujmy: ... '---------------petla glowna-------------- Do Konwert 'Dotyczy wszystkich urządzeń Waitus 200 '#####################czujnik 1## 1wverify Ds2(1) 'Czy jest na magistrali...
A spróbuj tego kodu : .include "m128def.inc" ;wektory przerwan .org $0000 rjmp reset ;***************************************... #define LED_PORT PORTD .def Accu = r16 ;***************************************... reset: ldi Accu, high(RAMEND) out SPH, Accu ldi Accu, low(RAMEND)...
Kolego landy13 , daruj sobie swoje przemadrzale posty i nie zasmiecaj tematu swoimi wypocinami, ok? Zmienilem wszystkie "PIN'y" na "PORT'y" i teraz faktycznie smiga :) Petla glowna rowniez zostala dodana. Tematu nie zamykam, gdyz pewnie wroce tu ze swoimi malymi problemami.
Masz w avr-gcc. Dla innego kwarcu, lub innej czestotliwosci przerwan inny preskaler lub wartość OCR1A. #include <avr/interrupt.h> #include <avr/io.h> ISR(SIG_OUTPUT_COMPARE1A) { /* Kod przerwania Timera 1. Wywolywane co 10ms */ } void init(void) { /* Timer 1: ** Tryb CTC (zliczanie do wartosci TOP i...
...I dalej mam takie pytanie czy da się to zrobić prościej Bascom posiada funkcję skoków do podprogramu w/g indeksu. Portc.4 = 1 'podciagam port - przycisk Dim A As Byte , B As Byte Declare Sub Temp Declare Sub Temp2 Declare Sub Nap Declare Sub Przyc Const Maxa = 2 'maksymalna ilosc podprogramow A = 0 : B = 1 Cls Do 'petla glowna Debounce Pinc.4...
Witam, prosiłbym o skompilowanie programu, ponieważ mam system windows8 i nie potrafię znaleźć bascoma który będzie działał. '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 8000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111011...
Wstawianie WDR gdzie popadnie to nie najlepszy pomysl. Najlepiej resetowac WD w jednym miejscu, petla glowna programu jest ok. Czas WD powinien byc tak dobrany, aby najdluzsza procedura jeszcze nie powodowala jego resetu. Jesli WDR umiesci sie wszedzie to jest spora szansa na stworzenie sie jakiejs patologicznej petli, ktora jednak bedzie resetowac...
Witajcie mam taki kod do pamiaru napięcia ale nie jest on zbyt dokładny widziałem gdzieś że jest możliwośc wpisania w kod napięcia vref mam lm385 2,5V może macie inne fajniejsze kody http://stud.wsi.edu.pl/~sikrolb/schematy... $regfile = "m8515.dat" $crystal = 16000000 Config Lcdpin = Pin , Db4 = Porta.1 , Db5 = Porta.5 , Db6...
A dlaczego nie tak: $sim 'tylko do symulacji $regfile = "m8def.dat" $crystal = 8000000 'kwarc '---------------------------------------... 'Konfiguracja LCD wg wykonanej płytki PCB pod procesor ATmega8 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portc.0 , E = Portb.2 , Rs...
Znalazłem pewne niedopatrzenie w programie. I upieram się przy adresie 94h lub 9B skąd 4d? Config Scl = P3.0 Config Sda = P3.1 Config I2cdelay = 1 ' P1.2 bedzie asygnowane jako MRQ Do ' glowna petla programu P1.2 = 0 ' MRQ na logiczne "0" 'TID odpowiada SDA-0 delay delay ' 200 mikrosekund P1.2 = 1 ' MRQ na logiczne "1" 'TID odpowiada SDA-1 I2cstart...
A ja sadze ze pisanie forum od poczatku nie jest takie trudne a dodatkowo mozna sie szybko zapoznac z jezykiem i nauczyc sie wylozystywac wlasne patenty przy dalszej rozbudowie. Proponuje zebys stworzyl prosciutkie forum czyli: - rozpoczac watek - dawac na niego odpowiedzi. Reszte bajerow jak liczenie wejsc, liczenie odpowiedzi, wyglad itp bedziesz...
I chyba dlatego początkowa konwencja tego kodu polegała na pętli while i tej fladze [syntax=c]flagSW0irq=0; // petla glowna programu while(1) { if(flagSW0irq==1) { flagSW0irq=0; while((GPIOD->IDR)&1) { GPIOD->BRR |= (GPIO_BRR_BR8 | GPIO_BRR_BR9); } } } void EXTI0_IRQHandler(void) { if((EXTI->PR & 1)) { EXTI->PR = 1; flagSW0irq=1; } } [/syntax] Czy to...
W ARM-ach tak w AVR-ach nie. Ale do tego nie musisz zmieniac zegara. Wychodzisz z ałozenia ze musi byc petla glowna gdzie sie wszystko kreci np. sprwsza jakis pin. A to nie tak. Procesor spi -jak nadejdze zdarzenie (np zmiana na porcie) to budzi sie robi co trzeba i znow idzie spac. Jak ssie nie da zrobic zeby zdarzenie go budzilo to np. budzi sie go...
powiem ci ze dziwne te twoje programy, nie zebym sie znal na tym jakos specjalnie, ale mnie uczono tak: w przerwanie wchodz na chwilke i jak najszybciej je opuszczaj! wedlug tej zasady wydaje mi sie bardziej racjonalne zrobienie programu tak by petla glowna programu byla uruchamiana co 1sekunde, w petli glownej rob wszystkie przeliczenie razem z pomiarem...
Witam. Kilka dni temu popełniłem takie "ustrojstwo". Zrobiłem to tak(jestem straszny marnotrawca miejsca i timerow): -robię zmienne dla każdego kanału (kanały 1-3) -dla każdego kanału timer(mówiłem że jestem marnotrawca) petla glowna: -instrukcja switch a w niej zal/wyl timerow oraz zal/wyl kanałów po uprzednim porównaniu wartości odczytanych i zadanych...
w power save wprowadza cie petla config int0 = rising on int0 przerwanie petla glowna programu do if stacyjka = 0 then powersave end if 'jakies twoje tam pierdoly loop end przerwanie: return budzi go zbocze narastajace na np int0 PS stacyjka alias pind.2 'jezeli np wykorzystujesz przerwanie int0 w atmedze32 takie cos bedzie ci dzialac gdy przyjmiemy...
Witam! Chciałbym uzyskać przebieg o wypełnieniu 50% i f~33kHz w trybie CTC na pinie PB3 Atmega 8L (OC2). Podpiąłem wyjście OC2 na oscyloskop i ciągle stan wysoki. Pierwszy raz i na szybko potrzebuję wygenerować taki przebieg. Proszę o pomoc. Późno już i coś mnie chyba przyćmiło. Namieszałem coś z ustawieniami portów czy jakiś rejestr nie jest ustawiony?...
Zrób to np tak. Petle programu masz wolna. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Clock = Soft, gosub sectic Config Date = Mdy , Separator = / Enable Interrupts Date$ = "08/22/05" Time$ = "23:59:00" cls 'petla glowna programu Do ........ ........ ........ loop end ' koniec programu Sectic: 'podprogram uruchamiajcy sie na...
Witam. W petli glownej programu musisz sobie napiac jakas procedurke wyboru podprogramow. Np mozesz uzyc do tego 3 przyciskow - jeden do zwiekszana zmiennej np wybor , drugi do jej zmniejszania atrzeci przycisk do potwierdzenia "enter" . Nie pamietam juz dokaldnie skladni w Bascomie ale moze to byc np tak: DDRB=&b11111000 // - piny 0 1 i 2 portu...
To był tylko przykład. Przydaje się wtedy kiedy nie możesz użyc pinu podległego Timerowi. W dodatku w tym przerwaniu możesz mieć trzy piny trzykolorowej diody RGB i zmieniając wypełnienie poszczególnych kanałów na jednym timerze mieć kolorki :) Nikogo nie przekonuję do swoich racji tylko pokazuję możliwości. Przykładowy kod ze strony http://mirley.firlej.org/programowyPwm.....
Witam. Mam na jutro opisać zasadę działania programu, ale totanie nic nie wiem. Byłby ktoś w stanie napisać jak On działa? Niżej podaje kod: [syntax=php]$tablica=array('12','123','1... $n=20; //ilosc elementow w tabeli for($i=$n;$i>=0;$i--){//petla glowna...
Witam! Usiłuje zasymulować obsługę magistrali I2C na procku ATmega128 w AVRStudio 4. Prosty kod źródłowy w assemblerze znajduje się w manual'u (str. 212). Problem w tym, że to nie działa. Mam problem z wyzerowaniem bitu TWINT w rejestrze TWCR (zeruje sie go wpisując 1).Poniżej zamieszczam fragment programu - inicjalizacja TWI i wystawienie bitu startu...
Mam taki problem, potrzebowałem na szybko coś zrobic do obserwacji pradu i napiecia, jak szybko i nieskomplikowanie to bascom napisałem taki programik Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portc.4 , Rs = Portc.5 Config Adc = Free , Prescaler = Auto , Reference = Internal Dim Adc0...
Witam ponownie ! Kiedyś gdzieś czytałem że projekt z Bascoma 8051 można przenieść do Bascoma AVR i wjakiś sposób automatyczny przerobić listing pod AVR (ATtiny2313) Pozdrawiam. Stefan Ps. Jeśli będziesz miał problem a nie "pali się" to popróbuję ten listing przerobić na ATtiny2313. Już udało mi się przerobić na AVR (ATtiny2313) 'przerobiłem, kompiluje...
Przysiadlem wczoraj i napisalem komunikacje po przejsciowce usb<->rs232 dla najprostszej wersji Arduino (w moim przypadku klona UNO z CH340 na pokladzie). Demon szybkosci (ze wzgledu na mozliwosci uc na plytce) to nie jest - wyswietlacz 128x160 odswieze w ok 2 sek. jednak kod na platforme Arduino powinien byc na tyle uniwersalny ze powinien z...
:arrow: gwolf No tak, ale jezeli do tego dojdzie sprawdzanie stanow poszczegolnych wejsc mikrokontrolera co (powiedzmy) 10ms i komenda getrc5 w tej samej petli to..... raczej nic z tego nie bedzie ;) Stad wlasnie pytanie o mozliwosc umieszczenia komendy getrc5 poza petla glowna. Swoja droga calosc juz dziala, ale odebrana zostaje co 2 komenda z pilota...
Grysek Wielkie dzięki za "rdzeń" programu. Dopisałem resztę teraz wygląda to tak: $regfile = "ATtiny2313.dat" $crystal = 16000000 'Kwarc w Hz Config Timer1 = Timer , Prescale = 1024 'Kofiguracja Timera Stop Timer1 'Zatrzymanie Timera Load Timer1 , 49911 'Załadowanie Timera On Timer1 Sekunda 'Instrukcja po przepelnieniu Config Pinb.0 = Input...
Wycięte z większego programu ale widać cała pętle i ideę menu, obsługi ekranu głównego i nawet kolejnych poziomów (podmenu). Skok do odczytu klawiszy jest raz na pętle niezależnie w której części menu znajdujemy się. Zmienna Marker jest znacznikiem określający położenie aktualnie wyświetlanej zawartości ekranu. Menu to zamienna odpowiadająca ilości...
Witam, sa tutoriale jak zaczac z arduino, jest tez sporo prostych przykladow w help w Arduino IDE, przecwicz je to zrozumiesz jak obslugiwac pojedyncze funkcje i zdarzenia. Wspominasz o wyswetlaczu 128x32 punkty, aby znak/litera byla czytelna typowo kozysta sie z ukladu 5-7pikseli po dodanu odstepow mozna przyjac ze znak to 8x8 w twoim przypadku oznacza...
pic 24F moze i sa slabsze, bo ich zalozeniem jest 'cost effieciency' natomiast juz PIC24H sa zdecydowanie mocniejsze [; bascom na xmega? yyy ... ponoc jest basic na ARMy, ponoc jest tez jakis do 16b PICow, wychodzi wiec na to, ze wsystko mozliwe [; nadchodza wiec tematy: 'POMOCYYY!!!11 problem z petla glowna XMEGA!!!1' i 'XMEGA - nie moge odczytac stanu...
1. Cele projektu Opracować moduł umożliwiający komunikację z wyświetlaczem 16x1 przez USART. By wysłać dane na wyświetlacz należy wydać instrukcję informującą o rozpoczęciu transmisji " 2. Diagram wdrożenia 2.1 Komunikacja mikrokontrolera z komputerem PC Mikrokontroler PIC16F84A komunikuje się z komputerem PC wykorzystując w tym celu port COM. Konieczne...
Witam. Otóż chce sterować silnikami, które później zamontuje na podwozie robota. Ale mam problem z kodem. Pomożecie? [syntax=c]#include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; // —————̵...
Witam Mam nadzieje że trochę pomogę w tej kwestii. Poniżej daję kod do obsługi kodu Rc5 w przerwaniach: '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 12000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111011 : Portd =...
przepraszam //Najpierw musisz ustawić odpowiednie parametry //np tak Kod: //unsigned char odebrane; //zmienna globalna - definujemy ja przed wszyskimi funkcjami unsigned - oznacza ze przyjmuje warotsc od 0 do 255 unsigned char zmienna; #include <avr\sfr_defs.h> //pozwala sterowac bitami code::blocks #include <avr\io.h> //wejscia_wyjscia...
Zastosowałem schemat 1 tylko pozmieniałem wszystkie wyprowadzenia pod Attiny2313. Zastosowałem się do wskazówek autora tamtego postu. nie dołączałem kondensatora na reset i 2 rezystorów na wyjscie. Odbiornik podłączyłem do wejscia int0 Portd.2 . Kod źródłowy: '************* Konfiguracja uC ***************** '***************************************...
Jesli petla glowna przy najdluzszym mozliwym przebiegu bedzie trwala krocej niz polowe odwrotnosci najwiekszej z mierzonych czestotliwosci wejsciowych (zakladajac przebieg o wypelnieniu 1:1) to czytajac port wejsciowy w kazdym obiegu petli, mozna poprzez porownanie biezacej wartosci z poprzednio sczytana, ustalic czy ktorys sygnal sie zmienil. Majac...
Poopuszczałeś trochę, a do tego literówki i dlatego wyrzucało błędy. Ten program kompiluje sie poprawnie. $regfile = "attiny2313.dat" $crystal = 11059200 $hwstack = 32 $swstack = 10 $framesize = 20 'DEKLARACJA ZMIENNYCH I PROCEDUR Dim Flaga As Bit , Flaga1 As Bit Dim Wylacz As Byte , Znak As Byte , Adres As Byte , Licznik As Byte Dim Znak1...
Problem rozwiązany. Program działa.Powinienem dodać następujące pliki nagłówkowe. [syntax=c] #include "stm32f10x_conf.h" #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "system_stm32f10x.h" int main () { //zmienne __IO uint32_t i ; //struktura inicjujaca GPIO_InitTypeDef GPIO_InitStructure; //dolacz sygnal zegarowy...
1. Nic się nie zmieniło dalej dioda non stop nadaje 2. Zamieniłem diodę IR na diodę Led i świeci cały czas po naciśnięciu przycisku gaśnie a gdy dłużej przytrzymam to mruga 3. Posiadam odbiornik według schematu poniżej: http://obrazki.elektroda.pl/5967445200_1... I oprogramowanie: '************* Konfiguracja uC ***************** '***************************************...
Zrobiłem test - inwersja pinu w petli glownej. Bez włączonej muzyki - czas miedzy zmianami stanu to jakies 5us....(100kHz) Przy odtwarzaniu zaś widac wyraznie, ze podczas odczytu sektora (w przerwaniu) cały czas jest zeżarty na obslugę SPI - petla glowna praktycznie w tym czasie stoi. Natomiast wyświetlanie na GLCD - pewnie dlatego, że tylko przy 4MHz...
Witam. Sprawdź ten kod. Dodano po 21 Widzę, iż pojawiło się Prima Aprilis.
Jest to proste korzystasz z przerwań jakie generuje timer0 podobnie jak to opisał kolega z innego tematu tego fora w bascom napisał '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111...
Mam problem ze swoim programem. To moj pierwszy wiekszy projekt w 51. Problem dotyczy sie przerwan. Mam dwa przerwania, jedno z timera0 do obslugi klawiatury co okreslony czas, drugie zewnetrzne int3 (80c535 ma ich wiecej) z rtc. Oto jak ustawilem przerwania i timer przed wejsciem do glownej petli programu: mov tl0, #00h mov th0, #00h ;do tl0, przerwanie...
W jednym swoim projekcie mam taką obsługę przerwań : [syntax=Basic4GL] Config Timer0 = Timer , Prescale = 256 On Timer0 Przerwanie Enable Interrupts Enable Timer0 Load Timer0 , 250 Do 'petla glowna Loop End Przerwanie: Load Timer0 , 250 Incr Czas8ms If Czas8ms = 125 Then Czas8ms = 0 Incr Sekunda End If If Przycisk = 0 Then Flaga = 1 End If Return [/syntax]...
Jednym ze sposobów jest zapętlenie po ostatnim NEXT: '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 8000000 Config Portb.0 = Output Config Portb.1 = Output Config Portd.4 = Input Portd.4 = 1 Config Timer0 = Timer , Prescale = 8 Enable Timer0 : On...
Bez problemu mozna zrobic obsluge klawiatury matrycowej, LCD, RS, ADC na jednym timerze + petla glowna a efekt sekwencyjnego wywolywania kodu jest i tak niewidoczny dla uzytkownika. Jak chcesz migac 3 diodami, np. 1 co sekunde, 2 co dwie sekundy, 3 co trzy sekundy to bez problemu zrobisz to na timerze wywolywanym co sekunde. A i tak jest to przerost...
Witam Sam miałem wielokrotnie problemy z RC5 pod ATtiny jeśli chciałem używać przerwań. W tym przypadku jeśli chcesz sterować zdalnie urządzeniami za pomocą pilota RC5 przerwania nie są konieczne i można to napisać najlepiej tak: '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat"...
Witam, wykonałem sobie odbiornik RC5 na procku ATmega8, zmontowałem sobie i testowałem lecz nie działa. Dodatkowo dioda świeci cały czas po załączeniu układu a powinna tylko mrugnąć gdy wcisnę guzik na pilocie. Proszę o przejrzenie schematu i programu co może być nie tak? Z góry dzięki za każdą podpowiedź:) Przedstawiam schemat: http://obrazki.elektroda.pl/4660697900_1...
Witam Problem polega na tym po nacisnięciu klawisza (pcf8574), atmega32 czyta kilka razy stan portu. Za pierwszym razem podaje dobra wartość a za ostatnim odczytem zawsze 255. Odczytuje port 2 lub 3 razy, chodź klawisz byl tylko raz naciśnięty. Kombinowałem juz z pętlami, zmiana czasu, nic nie dało zawsze za ostatnim odpytaniem port jest 255. kod '---------------------------------------...
Witam, Przesiadam się powolutku z PIC na ARM, i mam pytanie. Skompilowałem sobie programik migający diodkami (przykład z książki "LPC mikrokontrolery z rdzeniem ARM7"), program działa, diodki migają ale FlashMagic podaje : Flash Used: 46.96 Kbytes (including gaps), 73.38% of an LPC2142. No i tutaj mnie troszkę przytkało. Tak ma być? Sporo jak na miganie...
Ksiazka pana Bryndzy "LPC2000 .... Z RDZENIEM arm7". Rozdział 4 opisuje jak zainstalowac srodowisko dla przykłądów z tej ksiazki, czyli Eclipse, CDT, cygwin i na koncu GNUARM. -- Pierwszy przykład: rozdz4przyk1, tzw. wąz świetlny. Po zaimportowanmiu plików do projektu, opcja Make all daje błąd: make: *** #include "lpc214x.h" //Definicja LEDOW...
Hej, Przenioslem jeden z problemow ktory pisalem (a nie dostalem odpowiedzi) do nowego topicu. Chodzi o to, ze przy zalaczeniu zasilania do ukladu, powinien migac napis co 1s. A tak sie dzieje, ze znika, pozniej po dluzszym czasie pojawia sie i znow po dluzszyczm czase znika. Jak za n-tym razem podlacze uklad to czasem jest dobrze ... Dodam ze problemow...
Witam po dość długiej przerwie. W międzyczasie kilka razy zmieniałem podejście do kilku rzeczy w tym temacie. Aktualnie korzystam z kontaktronów do wykrywania otwarcia/zamknięcia drzwi. Resztą steruje Arduino Nano. Mam schemacik zrobiony - jak by ktoś bardziej pojętny mógł na niego zerknąć czy nie ma jakichś błędów (złożone na płytce stykowej działa...
Witam ! Mam taki oto kod do odbioru danych z uartu: Dim Odb As Byte Rx Alias Scon.0 On Serial Serial_int Cls Rx = 0 Enable Serial Priority Set Serial Enable Interrupts Do P2.0 = 0 Waitms 100 P2.0 = 1 Wait 1 Loop End Serial_int: If Rx = 1 Then Rx = 0 Odb = 0 Odb = Sbuf Lcd Odb ; "|" End If Return Wszystko dziala super ale...petla glowna...
CLR P0.0 LCALL CZEKAJ_600us SETB P0.0 LCALL CZEKAJ_30us LCALL CZEKAJ_80us JNB P0.0, SLAVE_OK LCALL CZEKAJ_20us JNB P0.0, SLAVE_OK clr p2.6 SLAVE_OK: clrp2.7 to sie wykonuje tylko raz po 1 sek na poczatku programu, petla glowna jest potym, tak rezystor jest 4.7k po wykonaniu tego programu: przy zasilaniu osobnym na P0.0 jest 1 przy zas pasozytniczym...
Podziękowania dla Kolegi s_ice który rozwiązał problem jak przesyłać informację na wyświetlacz Opla, co było tematem tego wątku. Nie tylko że to rozwiązał, ale podzielił się swoją pracą z innymi, którzy na pewno z tego skorzystali, a nie wiedzieć czemu nie chcą się do tego przyznać (zainteresowani wiedzą o kogo mi chodzi). Jeszcze raz dzięki, a kierownictwo...
Jeżeli nie zmieniłeś FUSEBIT to fabrycznie Atmel ma chyba 1MHz. Zresztą wystarczy wtedy F_CPU tylko zmienić jak bedzie za wolno lub za szybko działać. Sprawdz to. Co 500ms powinna sie dioda przesuwać. #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> void delay_ms(unsigned int ms) { unsigned int t; for(t=0;...
Witam, posiadam kod który po wgraniu do 8051 wyświetla na wyświetlaczu 7 segmentowym czas. Czas zaczyna zliczać od 00:00 ale min i sekundy. Jest możliwość by wyświetlał godz i min? Dopiero zaczynam z assemblerem i mam mały problem zrozumieć kod który znalazłem w sieci. Mógłby ktoś opisać co oznaczają: SWAP ANL [syntax=x86asm] $INCLUDE (REG52.INC) ORG...
w zasadzie to jest cały program, ale żeby nie było wątpliwości wrzucę cały [syntax=c] #include <avr/io.h> #include <util/delay.h> #include "LCD/lcd44780.h" //KLAWISZE #define LEWO (1<<PD0) #define PRAWO (1<<PD1) #define GORA (1<<PD2) #define DOL (1<<PD3) //definicja obslugi klawiszy (debouncing) uint8_t klawisz_wcisniety...
Oto kod: [syntax=basic4gl] $regfile = "attiny44.dat" Config Pinb.2 = Input 'przycisk Portb.2 = 1 Config Portb.0 = Output 'dioda zielona Config Portb.1 = Output 'dioda czerwona Config Porta.1 = Output 'xpg Config Porta.2 = Output 'xml '**********************NAZWY************... Xml Alias Porta.2 Xpg Alias Porta.1 Sw Alias Pinb.2 Red Alias Portb.1...
Trudno tak wróżyć a błąd pewnie jest błahy. Dlatego warto zawsze wykonać kilka testów. Znajdź to miejsce w kodzie i dopisz to co tam dodałem. To przy starcie pokaże numery seryjne zapisane w pamięci czyli sprawdzi czy zapis przebiegł pomyślnie. Numery pokazuję w postaci Hex bo się akurat zmieszczą na 16-nasto znakowym LCD. Jak w pamięci będa same FF...
Dawno nic nie skrobałem dla AVR, poniżej kod który skompilował się lecz nie ma jak przetestować. Do sprawdzania wciśnięcia klawiszy powinieneś napisać funkcję, która będzie to robić zamiast ciągłego wstawiania prawie tego samego kodu. [syntax=c] #include <avr/io.h> #include <util/delay.h> /* definicje dla preprocesora */ // klawisze #define...
Zmierzam zbudować zamek na iButtonie DS1990A. Poniżej zamieszczam projekt programu w Basom nad którym właśnie pracuję. Program ten ma za zadanie zapisywać przy pierwszym uruchomieniu oraz przy zwarciu zworki w pamięci eeprom kontrolera 10 numerów ID pastylek iButton np DS1990A. I do tego moment wszystko ok program działa. Problem natomiast mam z odczytaniem...
Dziękuję kolego e marcus za wszelkie rady i instrukcje, zaraz poprawiam konfiguracje portu b. Według mnie przerywanie co 100ms jest używane przez program w pętli głównej programu, ponieważ co 100ms odwołuje się do 3 pod programów. Popoprawiałem wyszło coś takiego i działa jeszcze raz dziękuje wszystkim za pomoc: [syntax=basic4gl] '************* Konfiguracja...
Witam Ja osobiście zrobił bym to porządnie czyli z urzyciem przerwań, bez żadnych podprogramow, korzystając z etykiet. Ponizej przedstawiam przykladowy kod. Mogą być w nim literowki gdyż pisałem prosto z palca bez kompilacji: '************* Konfiguracja uC ***************** '***************************************... $regfile = "m8def.dat"...
Jest osiem kanałow diód, średnio na kanał wychodzi po około 500mA. Zapomniałem dopisać że sterowanie katodami nie jest bezpośrednio z ATtiny tylko poprzez Tranzystor BUZ11 $regfile = "ATtiny2313.dat" $crystal = 8000000 'kwarc 'Config Pind.2 = Input 'jezeli uzywasz przerwan to nie ustawiasz pinu jako wejscie 'caly portb jako wyjscie Config Portb = Output...
Jeszcze jedno mam pytanie: Zapis ustawienia jasności podswietlenia będę robił przy wyjściu z menu. A gdzie zrobić odczyt ustawionej wartości? Na poczatku głownej pętli programu? Bo myślałem też o tym, aby zrobić odczyt ustawionej wartości przed glówną pętlą, ale wtedy żeby zaczytała się nowo ustawiona wartość, musiałbym resetować procka. Dobrze rozumuję?...
.... kolego - przepraszam a nie mogłeś tu dłuższego listingu podać i jeszcze mniej mówiącego pytania zadać ? .... A na dokładkę , ten listing jest typowym przykładem jak NIE NALEŻY pisać programów i nie tylko w Bascomie :( Petla_glowna: ... If Key = 1 Then : Gosub Menu : End If ' w assemblerze "RCALL Menu " '----------------------------------'...
Witam, pisze program w assemblerze który pozwarciu INT0, będzie wykonywać określoną czynność(łączyć się z innym urządzeniem), Ale narazie utknąłem w martwym punkcie, napisałem program który po zwarciu INT0 wywołuje przerwanie które zapala diodę podpiętą do lini PC0 5 razy i gasi(zapalenie uzyskuje poprzez ustawienie PC0 w stan wysoki). Całość funkcjonuje...
Wracać najlepiej skokiem bezwarunkowym, albo wywoływać je instrukcją call i wtedy z ret nie będzie problemów. Elegancko byłoby to mniej więcej tak: .INCLUDE "tn26def.inc" .cseg .org 0x00 LDI R20, RAMEND // Inicjalizacja Stosu (dla poprawnego działania skoków i pętli). OUT SP, R20 RJMP Ustawienia // Program nie skacze do "Ustawienia",...
To moze najprosciej na przykladzie leda zapalanego/gaszonego w obsludze przerwania od timera0 (tryb CTC). Przerwanie jest co 8ms, led zapalony/gaszony co 1s. Do odmierzenia 1s posluzylem sie komorka z sramu (o nazwie time) z zawartoscia 125 (125*8ms=1s). .org 0x0000 rjmp reset_int .org 0x0020 rjmp timer0_int .......... reset_int: ldi r16,125 sts time,r16;...
mnie rowniez wlasnie wystapil podobny problem, z AT89S52 wykorzystuje fizycznie wejscia INT0 oraz INT1, na oba wejscia idzie ten sam sygnal , impulsy prostokatne w programie oczywiscie wlaczam przerwania EX0 i EX1, ustawiam zbocza przeciwstawne ITx, i podpinam sie pod wektory obu przerwan w tle odpalam timer2 wraz z obsluga przerwania natomiast w petli...
Wydaje mi sie że tak powinien wyglądać kod z dodatkowym sygnałem wykrywania obrotu, narazie jednak go nie kompilowałem z braku czasu: '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny13.dat" '$crystal = 16000000 $crystal = 9600000 Config Portb = &B11100111 : Portb =...
OK, wstawiam cały kod: //--------------------------------------... //Naglowki //--------------------------------------... #include <avr/io.h> #include <avr/interrupt.h> //#include <avr/signal.h> #include <avr/pgmspace.h>...
Zamieszczam program miernika według wskazówek emarcusa. Jest to pierwsza w moim życiu próba napisania czegoś poważniejszego niż zapalanie i gaszenie LED-ów. Program nie kompiluje się, co mnie nie dziwi, są pewnie w nim podstawowe błędy... Ale od czegoś trzeba zacząć. Proszę o poprawienie, podpowiedzi. A tak w ogóle to zaczyna mnie wciągać :) [syntax=basic4gl]'...
petla while petla naprawy petla zwarcia
moduł zmywarka ariston hotpoint wsady flash blaupunkt źródło stałoprądowe
ekspres delonghi problemy ekspres delonghi problemy
Czy ogólnikowe wyznanie grzechów jest ważne? Metaliczny dźwięk i zgaśnięcie silnika ciągnika