Nie masz nawiasu masz średnik od razu, to jest bezsensu. Nie w tym problem - taki zapis jest poprawny; Skoro zmienna jest zmieniana w przerwaniu to obstawiam jak przedmówcy na brak atrybutu volatile.
Przed petla while wlacz przerwania sei();
nie wydaje ci sie to oczywiste, ze skoro pozostale przerwania sa zablokowane (bo obecnie obslugujesz jakies przerwanie, a domyslnie dla ARM7 nie uzywa sie przerwan zagniezdzonych) i wewnatrz przerwania masz petle nieskonczona, to... petla sie nigdy nie skonczy? 4\/3!!
Tak na pierwszy rzut oka musisz wyjąć błędne dane ze strumienia bo one tam zostają. Możesz sobie zrobić zmienną typu "string" i do niej wyjąć coś co okaże sie, że nie jest liczbą, skasować błąd i dalej. Musisz pamiętać by uważać na wartości hexadecymalne np. 0xff otrzymasz najpierw 0 a resztę jako text. Zależy co chcesz uzyskać, sprawdzaj i pomijaj...
Jeśli w D7 to: [syntax=delphi] procedure TKlasa.Nazwa(); begin //dowolny kod mający się wykonać bezpiecznie end; //w wątku: ... Synchronize(Nazwa); ... [/syntax]
nie. Inc powoduje zwiększenie wartości zmiennej o 1 (i:=i+1). O End mi się zapomniało.
dejmos , kolega zapędził sie z nawiasami, poprawiłem to i dodałem warunke wyjścia z while. Pozdrawiam
Zamiast Wpisz[syntax=c]while (--n>0)[/syntax]
Wróć do podstaw języka C. Jeśli chcesz wywołać funkcję to robisz tak: [syntax=c]inicjalizacjaADC(); wyswietlwynik(adc); // gdzie adc to nazwa zmiennej którą przekazujemy do funkcji[/syntax]
Ad. 1 Zrób to w wątku, teraz nie chodzą message przez co żadna akcja (kliknięcie czy coś innego) nie dojdzie. Spróbuj ewentualnie wywoływać ProcessMessages z Application w tej pętli (ale to rozwiązanie nigdy mi się nie podobało :wink: ). Na wątku po prostu robisz Terminate a w wątki sprawdzasz czy Terminated. W przypadku używania ProcessMessages możesz...
Ad 1. A coś nie tak jest? Ad 2. Nie możesz zastosować tej samej zmiennej po dwóch stronach nierówności, bo taka nierówność zawsze jest spełniona (matematyka: 0 < 10). Wczytaj sobie do oddzielnej zmiennej liczbę startową porównuj względem niej. Dodatkowo przed pętlą po prostu zainicjuj jej licznik wartością wczytaną + 1.
Przed linijką: Do While art < zm + 1 dopisz linijkę: art = 2
czemu number of lines ustawiasz na 3 na początku? Ten cout jest poza petla while tak btw.
nie jest to discovery tylko z propoxa mozna wyslac pojedyncze znaki tylko petla while nie dziala - zostaje ominieta podczas kompilacji przez kompilator (tak, widze to w assemblerze)
Z pętli while() i do..while() możesz też wyskoczyć używając break. Czasami zamiast tworzyć skomplikowany warunek do działania pętli łatwiej jest stworzyć warunek na jej przerwanie. Wybór działu rzeczywiście "znakomity". Jak tylko moderator się obudzi będziesz miał przechlapane :-)
Nie przekazujesz odpowiednio parametrów do skryptu. Wypróbuj taki kod : [syntax=php]<?php $tablica = array(2,3,4,5,6,7,8,9,10,11); if(isset($_POST['poprzednio'])){ $poprzednio=$_POST['poprzednio']; }else{$poprzednio='';} if(isset($_POST['suma'])){ $suma=$_POST['suma']; }else{$suma=0;} $liczba = $tablica[array_rand($tablica)]; echo 'Wylosowana liczba...
Oczywiście dotyczy to mikrokontrolerów AVR. Bitwait możesz zasymulować prostą pętlą: while (PINB & (1<<PINB0)); czeka, aż B0 otrzyma wartość 0; wtedy przejdzie dalej. while ((PINB & (1<<PINB0)) ==0); czeka, aż B0 otrzyma wartość 1; wtedy przejdzie dalej.
Wyjaśnię może na spokojnie: Kompilator patrząc na PINA widzi: dereferencję wskaźnika na volatile u8 spod inta rzutowanego na wskaźnik na volatile u8. Krok po kroku? "Zrób to sam" ;] - przykład dla wskaznikow 16bitowych, i 8bitowej danej: 1. Wez fizyczny adres chcianego SFRa , np. 0x6666 2. Rzutuj ten adres na wskaźnik na volatile u8: ((volatile u8*)0x6666)...
Hej! Napisałam program konwertujący ciąg znaków z ONP na standardowy zapis. Nie jest to jeszcze do końca skończone bo nie uwzględniłam nawiasów ani potęg, ale najpierw chcę, żeby zadziałał na tym prostym przykładzie. Niestety pętla while która używa boolów jako warunku wykonuje się w nieskończoność. Dlaczego? (warunek to- dopóki pierwsza liczba na stosie...
Też nie to, pomiędzy czytaniami jest opóźnienie (w readadc), ale dopisze to tu. W while dalszy kod (kreseczki) wykonuje sie dość długo - obsługa LCD, sama petla while powtarza sie co ok. 200ms.
No tak wszystko spox zebym jeszcze wiedzial jak to zrobic to bym nie pytal jak pisalem dopiero zaczynam i nie bardzo wszystko rozumiem. po przemysleniach masz racje ze to jest wylapywanie stanu na chybil trafil - petla "while" albo "for" ale tylko te poznalem jak narazie.
[syntax=c]#include <stdio.h> int main() { int a=4; puts("Petla while:"); while(a%2==0) { printf("%d jest parzysta\n",a); if(a>0); printf("%d jest nieparzysta\n",a); } return 0; }[/syntax] Coś takiego skonstruowałem, ale nie działa
Mam jakiś program który wyświetla komunikat " Czy chcesz zakończyć program do{ /* jakieś komendy */ cout<<"Czy chcesz zakonczyc program Chciałbym dodać czas oczekiwania na kliknięcie, tzn jeżeli nie kliknę "t" lub "n" w czasie np 10 sekund, program kończy swoją pracę (przypisuje zmennej "petla" wartość "t").
zapoznaj sie z instrukcjami warunku if oraz petla while ewentualnie for, plus dodatkowo operacje logiczne. Mysle ze tyle starczy, program raczej banalny. Wystarczy zapoznac sie z najprostszym tutorialem i poglowkowac.
Mam problem z petla While.. wydaje mi sie ze wszystko jest poprawnie mimo to uzyskuje blad #define WAIT_NIRQ_LOW() while(PIND&(1<<NIRQ)) (...) void rfSend(unsigned char data){ while(WAIT_NIRQ_LOW()); //<< Blad writeCmd(0xB800 + data); } //taki blad // ../cosss.c:86: error: expected expression before 'while'
musisz dać pętlę while za "int wybor" do "return 0"
Witam Moj prosty programik wygląda mniej więcej tak void main() ..... petla(); ....... void petla() { while ( .....) { ........ } } problem w tym że void main "zwiesza" sie, staje w momencie uruchomienia pętli, i czeka dopóki sie ona nie zakończy... a program powinien tylko uruchomić void petla i dalej...
Pod unixem rozszerzenia moga byc dowolne (z reguły ich się nie stosuje) aby plik dał się uruchamiać należy nadać mu prawo uruchamiania. Ten skrypt bedzie działać ciągle (zapewnia to petla while(true)..done) musisz go odpalic jedynie pod screenem aby chodził jak wylogujesz sie z systemu.
No dobrze, zmieniłem więc zapewne teraz jest dobrze, tylko mam takie pytanie. Dlaczego wyswietlacz jest ciągle czysty? Jeżeli w pętli wykonuje instrukcje wysyłania zmiennej na wyswietlacz to jest on czysty, a jeżeli np. write_char(125); umieszcze przed petla while(1) to na wyswietlaczu pojawia się znak "}". Gdy ta instrukcja jest w pętli while(1) to...
czego mozna tu nierozumieć, sprecyzuj pytanie - nie rozumiesz jak działa petla for - nie rozumiesz jak działa petla while - nie rozumiesz jak dziala printf i scanf - nie rozumiesz zasady dzialania algorytmu - nie wiesz po co jest ten kod do wstawienia - nie wiesz na czym polegaja wyrazenia warunkowe acha i wyglada ze to na jakies laborki jest, zakladam...
Witam while (1 == 1){ fSuccess = WriteFile(hCom, &rs_buff, 30, &RS_ile, 0); printf ("Wyslalem: %s \n", &rs_buff); //Zwieksz czas. Sleep(10); fSuccess = ReadFile(hCom, &read_buffor, 30, &RS_ile, 0); //Czemu read_buffor nie jest zadeklarowany jako wskaznik??? printf ("Odczytalem:...
Problem masz gdzieś indziej. W kompilatorze Codevision funkcja systemowa delay ma wewnątrz kasowanie watchdoga. Spróbuj zamienić ją na pętlę while(1); a powineś zuważyć efekt zadziałania watchdoga.
Na pierwszy rzut oka, to w ogóle nie wejdzie w pętlę while. Inicjujesz p wartością 0, a warunek pętli p<0. Czyż nie? ;) Marcin
A co dokładnie nie działa? Pewnie cały czas świeci :) Przeanalizuj swoją pętlę while i zobacz co się dzieje po ustawieniu timera :) Podpowiedź: wykorzystaj dodatkową flagę i użyj tylko RAZ timera programowego.
Pętla miała porównywać każdą komórkę kolumny A z każdą komórką kolumny C. Jeśli natrafi na to samo, w tym wypadku "c" to ma kopiować komórkę z prawej od komórki z kolumny A do komórki po prawej od komórki z kolumny C gdzie natrafiła na to samo, niezależnie od tego, czy wiersz kolumny A i C jest ten sam. Nie wiem dlaczego nie działa mi druga petla while,...
Dla każdej wartości się zatrzyma. To bardziej pytanie z matematyki niż programowania.
8051 nie programuje się ISP ( no może z drobnymi wyjątkami ) Mylisz się:D właśnie większość procesorów 8051 jest programowana przez ISP. Jak to sprawdzić? Jeżeli w nazwie znajduje się literka S, np AT89s52, to wtedy jest programowalny przez ISP. Może to nie rozwiąże problemu, ale ten program można udoskonalić. -zmodyfikować funkcję główną: void main(void)...
Wielkie dzieki udało się PODAM GDYBY KTOS SZUKAL TEGO W C# Hex = ""; petla=0; while (petla < 2 ){ temp=suma % 16; if (temp>9){ temp=temp+55; }else {temp=temp+48;} Hex =Convert.ToChar(temp)+Hex; suma=suma / 16; petla++; } label2.Text = Hex; //wynik w hexach
Bramy (w dowolnej ilosci) musza operowac niezaleznie, tj. jako osobne watki, ktore przyjmuja samochody (pobieraja zadania) z kolejki. Np.: //CarPark.java package parking; import java.util.LinkedList; import java.util.Random; public class CarPark { private final int NUMBER_OF_GATES = 2; private final Gate[] gates; private int availableSpaces;...
brakuje instrukcji sei(); włącza ona globalną obsługę przerwań. Umieść ją zaraz przed pętlą while(true) Dodano po 5 a poprawnie jest TIMSK1 = _BV(TOIE1);
hmmmm no zamienilem petle while na do...while: do { if (x1) c1++; else c1--; if (x2) c2++; else c2--; if (c1==x || c1==0) x1=!x1; if (c2==y || c2==0) x2=!x2; if (!(c1==a && c2==b)) { pola[c2][c1]+=1; } } while (!(c1==a && c2==b)); I dalej to samo... EDIT:...
Odnośnie GOTO i początkującego lub nawet zaawansowanego programisty: http://mikrokontrolery.blogspot.com/2011... ... pętlę while przerywasz za pomocą break: http://mikrokontrolery.blogspot.com/2011... ... to uwagi tak dla porządku, bo autor tematu chyba już swój problem rozwiązał, gdyż dyskusję skończył ponad 2...
Wykorzystanie pętli bardzo łatwo wytłumaczyć. Getline, cin, obojętnie co, na raz może pobrać tylko jedną linię tekstu, a ja chcę jednocześnie wczytać kilka linii, dlatego potrzebna jest pętla, która pozwoli pobierać po jednej linii tekst. Spróbuję porównać entery i dam znać :) Poza tym konwersja z chara na string jest mi potrzebna ze względu na właściwości...
Podczas wykonywanie przerwania procek zapisuje chyba na stosie adres z ktorego wyskoczyl. Czy mozna zmienic ten adres, zeby po wykonaniu przerwania wskoczy w to miejsce w ktore ja chce??Chodzi mi o cos takeigo: main() { while{ } //tu ma wskoczyc po przerwaniu } void T0_int(void) interrrupt 0 { if (klawisz==0) {//zmiana adresu powrotu z przerwania} }
Chodzi o Nr wiersza? Wypróbuj takie coś: [syntax=vbscript]w = 2 max = 1000 Do While Cells(w, 1) <> "Nowy" w = w + 1 If w = max Then Exit Do Loop If w < max Then MsgBox w[/syntax] Może nawet ciut szybciej byłoby przez Columns(1).Find...
Nie wiem czy szwankuje funkcja czy masz źle ustawiony UART Ogólnie to możesz na poczatek zrobić przerwanie od UARTa w którym zbadasz flage RI (tą od odbioru), zrób sobie jakiś bufor w ramie i upychaj tam przechycące dane z SBUFa, zobaczymy czy w ogóle odbiera ten port. Pamietaj że flage musisz recznie skasować po jej odczycie. Aha, jeszcze jedna rzecz...
To swoją drogą, ale dopóki nie zapamiętasz gdzieś zmiennej kolejny , to ona ciągle będzie równa 2. Zamiast tego, jeżeli plik bez numerka istnieje, musisz napisać pętlę while w której będziesz zwiększał zmienną kolejny i sprawdzał przez FileExists() czy plik istnieje. Dopiero po wyjściu z tej pętli możesz jej użyć do stworzenia nazwy.
Po pierwsze, nie napisałeś, jak objawia się brak działania i czego oczekiwałeś. Po drugie, ten algorytm nie ma wiele wspólnego z obliczaniem liczb pierwszych. Po trzecie, pozbądź się goto, nie powinno się go używać w ogóle. Możesz to zastąpić pętlą while i ustawianiem/sprawdzaniem flagi (np. typu bool).
Najpierw przerób te programy tak żeby pole i objętość to były metody (funkcje), poźniej zapoznaj się z instrukcją if ewentualnie switch, oraz pętlą while. Wszystko jest w internecie, pokombinuj wstaw i dalej się zobaczy. //ewentualnie możesz zrezygnować z funkcji bo programy są banalne ale polecam je przećwiczyć, nabierzesz dobrych nawyków oraz zapoznasz...
mozesz mi tylko wytlumaczyc jak dziala ta petla while a raczej to w niej bo jakos nie moge tego rozszyfrowac :] Moze w ten sposob bedzie bardziej czytelne: while(rozmiar >= (1 << i)){++i;} (1 << i) to po prostu przesuniecie bitowe (przesuniecie "1" o i bitow w prawo). Aby wiedziec, ile bitow wystarczy do zapisania...
Przykładowo w terminalu wykonuję skrypt poleceniem: Co to znaczy restartowal sie? Chcesz uruchomic nowy (kolejny) proces czy zakonczyc istniejacy i uruchomic nowy? Jesli to drugie to musisz znac PID procesu i zakonczyc go komenda 'kill -9 PID' gdzie PID to PID procesu. Jesli to pierwsze to wystarczy zwykla petla while true i jakis delay albo sleep.
a co jest nie tak z pętlą while(1) bo nie mogę się dopatrzeć To, że jest pusta. Stan zmiennej flaga sprawdzasz tylko raz na początku programu, po czym zapętlasz go w pustej pętli. Poza tym sprawdzanie if(flaga=1) jest błędem, zapewne miało być if(flaga==1) - przeczytaj ostrzeżenia kompilatora generowane w czasie kompilacji.
Witam, Spotkałem się z dziwnym problemem. Otóż mam prosty skrypt w języku C na linuxa. [syntax=c] #include<stdio.h> int main() { printf("test1"); whie(1) { printf("test"); } return 0; } [/syntax] I wygląda na to że program wchodzi od razu do pętli while, bo nie wyświetla się pierwszy napis : "test1" . Co o tym sądzicie ?
Witam! Ciężko komuś pomóc, kiedy nie widzi się kodu... Pozdrawiam!
Rozumiem, mój problem (właśnie z Arduino) polega na tym, że chciałbym skorzystać ze zmiennej w różnych procedurach programu, jednak mogę ją zadeklarować tylko jako referencję zainicjowaną danymi, o ilości i wielkości których, kompilator nie wie. Dane mogą powstać w void setup(), albo przed nieskończoną pętlą w loop(). W tym otatnim przypadku referencja...
#include <8051.h> void czekaj(unsigned char x){ // petla opozniajaca do eliminacji drgan przyciskow unsigned char a, b; for( ; x > 0; x--) for(a = 0; a < 10; ++a) for(b = 0; b < 25; ++b);} void main(void){// funkcja glowna P2 = 0; // pomin to while(1){ // petla nieskonczona...
Witam Przyczyną problemów jest zastosowana przez Ciebie pętla while(1) , która powoduje zawieszenie programu, objawiające się przytoczonym przez Ciebie komunikatem o błędach. Poniżej zamieszczam poprawiony kod. Dodatkowo warto kontrolować poprawność uzyskanych adresów do funkcji z dllki i poinformować użytkownika o ewentualnych błędach. [syntax=c] #include...
Dałem pętlę while(1) w main i dioda nadal nie miga. Gdze ją dodałeś? U mnie działa. [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define LED_PIN (1<<PD7) #define LED_TOG PORTD ^=LED_PIN volatile int licz; int main(void) { DDRD |= LED_PIN; TCCR0 |= (1<<CS02); TIMSK |= (1<<TOIE0);...
Ten kod się wykona, gdy wypełni się cały klaster: [syntax=C]if(j == sectorPerCluster) { j = 0; break; } [/syntax] który zakończy pętlę do .. while pomimo, że data != '~'
Mały przykład [syntax=vb]Sub Petla() Dim licznik As Integer, ile As Integer ile = 500 'ile = Range("E1") Do While licznik < ile licznik = licznik + 1 test = Cells(licznik, 1) Loop MsgBox licznik End Sub[/syntax]
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...
Witam To nie tak ma być. Masz teraz pętle główną i jedną pętle while wend. Napisz tak: Do ' petla główna While Pinc.5 = 1 ' pierwsza warunkowa petla tutaj ma być pętla która się wykonuje po włączeniu zasilania i skoki do podprogramów. Wend While Pinc.5 = 0 ' druga warunkowa pętla Tutaj daj funkcję bbb i wszystkie wymagane skoki do podprogramów. wend...
Co to znaczy itd.? przecież tu nie ma żadnej prawidłowości, nic się nie powtórzyło. Żeby diody na porcie B zapalały się po kolei musisz mu podać binarnie 0111111, 10111111, 11011111, 11101111..., 11111110, 11111101, 11111011..., 11011111, 10111111 i to wszystko w pętlę while lub for. Oczywiście zapisuj je sobie heksadecymalnie : 0X7F, 0XBF, 0XDF, 0XEF,......
W takich okolicznościach przycisk na podstawie załączonego kodu nie działa prawidłowo. W ogóle, to pragnę zauważyć, że za daleko kolega zajechał z pętlą zamykającą while, dlatego w każdym przypadku program wykonuje się tylko raz, po uruchomieniu uC.
nie mialo, generalnie dwukrotnie podpisales wartosc pod stala, standardowym zapisem bylo by: [syntax=c]int a; for(a=1...) ... [/syntax] nie zmienia to faktu ze to nie przeszkadza. Jesli chodzi o zapetlenie zapytan najprostszym wyjsciem bylaby konstrukcja [syntax=c] while(znak!='c'){ //'c' sluzy jako przyklad tj petla dziala dopoki pod zmienna znak podpisujesz...
tak void program2() { while(1) { if( costam_costam ) break; } } void czesc_kodu() { } void main() { czesc_kodu(); while(1) { if(KV==1) { program2(); //Jeśli KV=1 to przejscie do programu2 czesc_kodu(); } } } albo...
Może spróbuj tak: Robisz petle while z opóźnieniem np. 500ms .Liczbę iteracji będziesz wprowadzał przyciskami na panelu albo jakimś innym wejściem. Jeśli petla obliczy 3 sec to wychodzi i wykonuje nastpne polecenie , chyba można to zrobić konstrukcja case w labview :)
- albo ustawiasz pin OC1A w automatyczne zmienianie stanu na przeciwny przy porównaniu z OCR1A poprzez wykorzystanie COM1A1 i COM1A0. Tylko tutaj musisz DDR pinu OC1A ustawić jako wyjściowy ) Dokladnie o takie rozwiazanie mi chodzi. Faktycznie zapomnialem o TCCR1A= (1<<COM1A1). Obecny kod: #define CLK_LED PD5 .... [syntax=c] DDRD |= (1<<CLK_LED)...
Witam jestem pocztkujacym w te klocki,ale pomalu zaczynam wszystko lapac;)Musze zrobi dwa programy z wykorzystaniem petli for i do while.Zrobilem juz jakies przymiarki,ale nieiwme co dalej... Pierwszy program polega na wpacaniu pieniedzy na konto do otzymania zadeklarowanej smumy,program ma takze obliczyc ile razy wplacalismy.Mam go zorbic z petla do...
No tak, zawsze mam przeznaczony dla takich zadań jeden timer, ładowany odpowiednią wartością na początku obsługi funkcji I2C, w każdej pętli while, poza sprawdzaniem danej flagi, sprzwdzany jest także stan licznika - jeżeli zostanie przekroczony, petla while zostaje opuszczona z ustawioną flagą błędu. Nie pisałem o tym, bo to chyba standard? Do tego...
[syntax=pseudokod] while(key1 and !key2) { while(key1 and key2) { zadanie; //ciezko powiedziec co masz na mysli mowiac operacja, tu moze byc np. petla for, wtedy ponizszego ifa musisz do niej przeniesc if(!key1 or !key2) goto etykieta; } } etykieta: [/syntax] jak się brzydzisz instrukcją goto możesz pomyśleć nad zmienną bool pamiętającą wejście do drugiej...
Hej Dzieki wszystkim za czas poświęcony na odpowiadanie na moje pytanie. pomogliscie mi bardzo. Ostatecznie rozwiązałem to za pomoca pętli w pętli czyli tak: while(1) { for(;;) // petla 1 { if(bit_is_clear(PIND,PD2)) { czekaj(300*tau); break; } if(bit_is_clear(PIND,PD3)) { czekaj(300*tau); while(1) // petla 11 { if(bit_is_clear(PIND,PD4)) { break; }...
Może dodać warunek opuszczający pętlę while, gdy wartości indeksów osiągną koniec tablicy?
Witam, Kombinuje taki maly układzik, który ma miedzy innymi dzwonić do klienta. Bazuje na jakichs prrzykładach pobranych z sieci. Generalnie z komunikacja z telefonem się uporałem. Niestety problem jest w momencie awari takiego telefonu, zaniku komunikacji. Wówczas kod utyka w instrukcji odczytu potwierdzenia z telefonu i jest zonk, watchdog nie zalatwia...
a no faktycznie. C slabo kumam, ale mimo wszystko taki blad to wstyd :oops: . z tym ze teraz zeby zachowac ten sam okres migania co poprzednio czyli 1s program musi wygladac tak: #include <stdio.h> #include <REG52.H> int i=0,k=0; void licznik(void) interrupt 1 //przerwanie 0 { TH0 = 0x3C; //timer bedzie zliczal od 15535 TL0...
http://mikrokontrolery.blogspot.com/2011... ani nigdzie gdzie czytalem nie jest napisane o nie-spelnieniu warunku, tylko while sprawdza dopóki się nie spełni, ale to nie jest cel mojego tematu, jedyne co ja chce to jedną jedyną linijkę uniwersalną dla jakiejkolwiek rzeczy do której się przyłącza + i -, jak ustawić piny by tak się stało....
jak na noja glowe to kazesz wyswietlac "Tomek" w nieskonczonosc i LCD glupieje napisz tak: tu wyswietlanie tu "Tomek" while(1) { pusta petla tutaj }
Dzieki wielkie na pomoc, kurcze nie wiem czy to dobrze robie ale probuje to wyslac w main-ie i jakies dziwne liczby czasem odbieram, wiec mozliwe ze to drgania lub cos pokrecilem w ustawieniach? Gdy debuguje kod w pracy krokowej widze ze co pewna liczbe pustych skokow (petla nieskonczona while(1); ) program zaczyna sie od nowa a zgaszone diody (sa wysterowywane...
O cholercia :) Przypomniałeś mi właśnie o procku 6713, na którym robiłem pracę dotyczącą rozpoznawania mowy niegdyś :) Domyślam się, że masz tę samą płytę testową, którą dysponowałem też ja. Tak patrzę na ten program i widzę, że po prostu odczytuje on stan przełączników, przelicza te 4 bity na ms i wyświetla odpowiedni stan diod w przeliczonym odstępie...
Ja oznaczylem przez "b"- bajt. Mialem przed petla while(1) tylko wywolanie funkcji AverageFreeRunCC1000(); Teraz dodalem w petli przełanczanie trybu tak jak jest w projekcie dla kontrolera PIC: if (UnlockAverage) { UnlockAverage=0; AverageFreeRunCC1000(); } if (LockAverage) { LockAverage=0; AverageManualLockCC1000(); } Tylko nie rozumie sensu takiego...
Co jest nie zupełną prawdą! Prześledźmy po kolei co się dziejew tym programie:... Naciśnięcie przycisku powoduje wejście processora w pętlę „While” na cały czas trzymania przycisku. W tym czasie wszystkie processy jakie mógłby(controller) wykonywac sa zatrzymane (w tym również reakcja na bouncing styków). Nie jest to problemem w przypadku...
Witam, Zmontowalem sobie zabawke w postaci atmega162, 2 porty usart i lcd. Chwilowo dziala to w takiej konfiguracji ze z terminala podlaczonego przez ustart0 wydaje komende ktora jest przekazywana na usart1 do telefonu komorkowego a wynik jej wykonania ma sie wystwietlic na lcd. Oczywiscie predkosci wszystkie sa ustawione OK, F_CPU tez, 9600 dla COM...
petla for lub while przeskakuesz kazdy rekord w kolumnie i szukasz pustej wartosci "" jesli jest pusta wstaw wartosci z rekodrdu dla innej kolumy. Dim i as Integer For i = 2 To Application.WorksheetFunction.CountA(Ran... lub ilosc rekordow If (Cells(i, numerKolumny) = "") Then Cells(i, numerKolumny).Value = Cells(i, numerKolumnyzLoginem).Value...
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...
Poproś kogoś od obywateli, aby wykazać, jak włączyć makro trochę się obawiam, że nie jestem w stanie wytłumaczyć z mojej gramatyki w menu Narzędzia - makro - zabezpieczenie niedźwiedź średnia - Pan zdecydowała, czy umożliwić działanie makra [syntax=vb]Sub Petla() Dim isWsz As Boolean, i&, fnd$, rpl$ While Not isWsz i = i + 1 fnd = "[" & i & "]" rpl...
Skoro nie czytasz flag to nie wachluj linią RW. Podłącz RW do masy. Więc tak... przy delay_us(20) - lcd mi się wcale nie podnosi (Odbiera dane gdy jest zajęty) Przy 40 wszystko jest fajnie do puki nie wejdzie w pętlę while(1) -wówczas zaczyna się wachlowanie linią RW i wpisywanie bzdur do wyświetlacza na pierwszą pozycję https://obrazki.elektroda.pl/5734290500_...
Myślę, że warto przy okazji poprawiania tych błędów wyeliminować pętlę "while (steps_left > 0)" z funkcji "Stepper_step", jeśli istnieje ryzyko, że będziesz chciał dodać do tego programu cokolwiek więcej.
To Ci powinno ruszyć, napisałem kiedys pod Keila uVision3 V3.63. Dziala z Makieta Olimex'u LPC-2378-STK-A: // (LPC2378) mandaryn 2009 #include <lpc23xx.h> int flaga=0; // 0 -> dioda OFF, 1 -> dioda ON __irq void przerwanie (void) { if(flaga==0) // Gdy dioda wylaczona { FIO2SET|=0x00000001; // Wlaczenie diody...
Spróbuj tak, tylko zmień na PORTA bo ja miałem wolny PORTB: #include <avr/io.h> #include <avr/interrupt.h> // Biblioteka przerwań #define LED_TOGGLE PORTA^=_BV(0); volatile uint8_t stan; ISR (TIMER0_OVF_vect) // Przerwanie od przepełnienia timera0 { //LED_TOGGLE; stan=!stan; if (stan) PORTB=0; else PORTB=255;...
Witam Mam taki o to program [syntax=C] char q; do { printf("1 - Mnozenie"); printf("2 - dodac"); printf("3 - Wyjscie "); q=getchar(); switch (q) { case '1': printf("%5.1f*%5.1f*%5.1f=%5.1f\n",1,2,3... break; case '2': printf("%5.1f+%5.1f=%5.1f\n",1,2,1+2); break; case '3': return 0; break; } } while (q!=0); [/syntax] Niepatrzczie na sens programu...
Tutaj mam programik, który chciałem wrzucic do pojazdu, co prawda śmieszyc może co niektórych, ale kazdy się kiedys uczył :) #define F_cpu 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { DDRD = 0xff;//wyjscia na silniki DDRC = 0x00;//pc0,pc1 podlaczone do vcc PORTC = 0x03; while(1)//petla {...
Ech... Ale jaka ma być zasada tego "rozdzielenia"? I czemu pętlą while lecisz po kolumnach, skoro dane są w kolejnych wierszach?
Witam W próbie opanowania LCDka natrafiłem na poniższy problem: Kiedy zestaw instrukcji znajduje się poza pętlą, to wykonuje się bez problemów, kiedy znajdzie się w pętli - cisza. int main(void) { // konfiguracja portów we/wy DDRB = 0xFF; DDRD = 0xFF; //wszystko 1, czyli WY PORTB = 0xFF; PORTD = 0xFE; //do D0 podłączony DS18B20, ma być...
Poczytaj o Continue. Zazwyczaj wystarczy odpowiednio poustawiać instrukcje If. http://msdn.microsoft.com/en-us/library/...
Cześć! Twoje błędy i niedociągnięcia: 1. Nie zainicjowałeś zmiennej czas0 . Przed rozpoczęciem obliczeń wszystkie zmienne powinny mieć określone przez programistę wartości. W Twoim programie przy pierwszym kliknięciu wartość czas0=0 , przy następnych wartość z poprzednich obliczeń. W procedurze Button1Click przed pętlą while wstaw czas0:=0; 2. Źle...
Generalnie należałoby to napisać w c/c++ lub co najmniej perlu lub pythonie ale bash też coś potrafi ;) skrypt serwer.sh[syntax=bash]#!/bin/bash fifo_cron="/tmp/fifo_cron" # fifo name fifo_php="/tmp/fifo_php" # fifo name fifo_serial="/tmp/fifo_serial" port="/dev/ttyS0" stty -F $port 115200 cs8 -cstopb -parenb -crtscts -ixon trap "rm -f $fifo_cron $fifo_php"...
Jeżeli chodzi ci o to aby wpisując 5+0+1+2+3 mieć liczbę 50123, to można to zrealizować bardzo prosto. w pętli głównej dajesz coś takiego: tmp=get_key();//zakładam że 0 jest kiedy nic nie wciśnięte if(tmp>0) { liczba*=10;//jeżeli podstawa = 10 liczba+=tmp; } zmienna liczba musi być przynajmniej 16 previous_tmp=tmp; tmp=get_key();//zakładam...
Przecież zamiast delay() można utworzyć pętlę while albo for i ten czas sobie wyświetlić jako licznik. Tak jak wyżej pisano...
Witam W ramach rozgrzewki przed większym kodem, chciałem sprawdzić działania na poszczególnych elementach tablicy. Chciałem się posłużyć indeksem. W rezultacie po załadowaniu kodu: unsigned char bufor[16]="abcdefghijklmnop... zmiennych 8-bitowych // inicjalizacja LCD lcd_init(); // zapisz na LCD przykładowy tekst LCDxy(0,0);...
Problem nieprawidłowego zaokrąglania liczb zmiennoprzecinkowych uprościłem i przedstawiam na poniższym przykładzie: $regfile = "m8def.dat" $crystal = 16000000 --------------------------- Dim Nr As Byte Dim Tau_s As Single Dim Tau_w As Word Cursor Off Noblink '.............ukrycie kursora na LCD Cls Do Restore Tab '...............ustawienie się na pierwszej...
while atmel arduino while instrukcja while
prosty pilot włącz wyłącz renault scenic pedał ikona stanu naładowania baterii
wyłacznik selektywny wyłacznik selektywny
Configure Tuya Button as Push Button Event Generator: Scene Mode, DP, Home Assistant, Zigbee Filtr kominowy Exodraft ESP-10, OekoTube, SmartFlow do pieca węglowego – skuteczność i montaż