matrix760 Napisano Październik 17, 2011 Udostępnij Napisano Październik 17, 2011 Witam, Jak można rozwiązać następujący problem??? if(!(PINB & (1<<PB0))) //warunek_1 goto miejsce_2; if(PINB & (1<<PB0)) { PORTB |= (1<<PB2); OCR1A = 700; z=0; } else // ten sam warunek co warunek_1, a program nie wykona { //instrukcji poniżej tylko przeskoczy w "miejsce_2" z=z+1; _delay_ms(50); if(z<25) { OCR1A = 1250; } else { OCR1A = 300; z=25; }} Albo inaczej jak można rozdzielić zadania do wykonania dla pojawienia się takiego samego sygnału z czujnika w dwóch różnych miejscach?? Może ktoś pomoże??🙂:) __________ Komentarz dodany przez: Treker Cytuj Link do komentarza Share on other sites More sharing options...
bartek1333 Październik 17, 2011 Udostępnij Październik 17, 2011 takiego samego sygnału z czujnika w dwóch różnych miejscach?? Rozumiem, że na 2 różnych pinach? Jak tak to przerwanie zewnętrzne. Czy chodzi o w 2 różnych miejscach programu? Cytuj Link do komentarza Share on other sites More sharing options...
matrix760 Październik 17, 2011 Autor tematu Udostępnij Październik 17, 2011 2 rożne miejsca w programie i ten warunek spełniony np czujnik wysyła 0 logiczne. Cytuj Link do komentarza Share on other sites More sharing options...
bartek1333 Październik 17, 2011 Udostępnij Październik 17, 2011 I wtedy ma być skok do innych funkcii? Czyli, np. gdy zmienna = 1 i czujnik wyśle 0 to skocz do etykieta1; gdy zmienna = 2 i czujnik wyśle 0 to skocz do etykieta2; o to chodzi, bo trochę nie rozumiem :-> ? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
matrix760 Październik 17, 2011 Autor tematu Udostępnij Październik 17, 2011 innymi słowy mam ten sam sygnał z czujnika w 2 instrukcjach warunkowych if i jak teraz zrobić żeby np instrukcje z drugiego if wykonały się a nie te pierwsze instrukcje z ifa pierwszego , bo tak się wykonuje. Jak odróżnić dwa te same sygnały. W praktyce wygląda to tak,że robię głowę dla robota i potrzebuje sprawdzać w trzech położeniach serwa czy jest przeszkoda czy nie jest i dlatego będzie ten sam sygnał z czujnika zero logiczne. I nie mam pojęcia jak problem rozwiązać. Cytuj Link do komentarza Share on other sites More sharing options...
bartek1333 Październik 17, 2011 Udostępnij Październik 17, 2011 Może zrób tak: 1. Obróć serwo o jakiś kąt (głowa w lewo) 2. Sprawdź czy czujnik coś wykrywa - jeśli tak to zapisz do jakieś zmiennej że na lewo jest przeszkoda (np. lewo = 1) 3. Jeśli nie to ustaw głowę na środek i sprawdź i identycznie jak wyżej. 4. I prawa strona Wtedy wiesz gdzie jest przeszkoda. Sprawdzaj to po prostu po kolei. Cytuj Link do komentarza Share on other sites More sharing options...
matrix760 Październik 17, 2011 Autor tematu Udostępnij Październik 17, 2011 i po prostu wszystko robić na innych zmiennych , a nie odpytywać za każdym razem sygnału z czujnika?? Cytuj Link do komentarza Share on other sites More sharing options...
bartek1333 Październik 17, 2011 Udostępnij Październik 17, 2011 Odpytujesz za każdym razem czujnik, tylko najpierw przesuwasz głowę robota, żebyś wiedział po której stronie jest przeszkoda i wtedy zapisujesz do zmiennej czy jest (np. lewo = 1), lub nie ma (np. lewo = 0) przeszkody. Czyli jeszcze raz: przesuwasz głowę odpytujesz czujnik i zapisujesz do zmiennej czy jest przeszkoda od początku (lub robisz co innego np. idziesz tam gdzie nie ma przeszkody) Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!