Skocz do zawartości
rybazmarsa88

Problem z fragmentem kodu do podciągania TSOP'a

Pomocna odpowiedź

Witam. Proszę, aby ktoś mi wytłumaczył, z czego to wynika i po co dokładnie mi te rezystory podciagające.

void krec(int kolo, int kierunek,  int predkosc)	
{
if(kolo==0)						serwomechanizmu
{
if(kierunek==1)
	{
	PORTD = 0b00100100;  			//wartość '1' na 5 bicie od podciagania tsop'a, podaje stan 01 na mostek.		
	}
if(kierunek==0)
	{
	PORTD = 0b00100010;			//jw. jednak podaje 10 na mostek
	}
OCR1A = predkosc;				//pierwsze serwo
}
if(kolo==1)						//instrukcje warunkowe dla drugiego serwomechanizmu
{
if(kierunek==1)
	{
	PORTD = 0b00101000;
	}
if(kierunek==0)
	{
	PORTD = 0b00110000;
	}
OCR1B = predkosc;				//drugie serwo
}

if(kolo==3)						//instrukcje warunkowe dla obydwóch serwomechaznimów
{
if(kierunek==1)
	{
	PORTD = 0b00101100;
	}
if(kierunek==0)
	{
	PORTD = 0b00110010;
	}
OCR1B = predkosc;				//obydwa serwa
OCR1A = predkosc;
}
}

komentarze są dla mnie, prosze nie zwracać na nie uwagi. Jest to frag. kodu do robota omijającego przeszkody z czujnikami TCRT i TSOP. Nie rozumiem tych wartości dotyczących PORTD dla każdego serwa osobno, i obydwóch razem. Prosze mi powiedzieć, w ktorym miejscu w dokumentacji mam tego szukać? wiem że 5 bit jest decydujący i w zalezności co tam jest, czy 01, 10, 11 czy 00 to tak będzie działał robot. Ale z czego to wynika? Proszę mi pomóc, z tymi podciągnięciami mam straszny problem;/

Udostępnij ten post


Link to post
Share on other sites

dzieki..:| prawie jak na elektrodzie... napisałem cały program, czyli jednak to nie jest dla mnie zbyt trudny 'projekt' ..;/ bo skoro potrafisz to nie możesz napisac nie?

Udostępnij ten post


Link to post
Share on other sites

Kolego. Pytasz o coś czego odpowiednikiem w matematyce, jest nauka dodawania.

Twoje pytanie jest na poziomie: Co to jest ten znaczek miedzy tymi cyframi:

2 + 2

A to oznacza, że bierzesz się za naukę mikrokontrolerów od niewłaściwej strony, czyli od końca.

Dodatkowo nawet nie zaglądnąłeś do datasheet uC, o helpie kompilatora już tylko wspomnę.

Uważasz, że nie mam racji, trudno, sam do tego musisz dojrzeć.

Ale to już co najmniej dowcip:

.. napisałem cały program, czyli jednak to nie jest dla mnie zbyt trudny 'projekt' ..;/

Czyli napisałeś, ale nie wiesz co i zadajesz pytanie na forum 😃 :D 😃

Powodzenia! Będzie Ci potrzebne.

Udostępnij ten post


Link to post
Share on other sites

masakra człowieku!! chciałem tylko udowodnić, że program nie jest za trudny dla mnie! ale chyba moge czegoś nie rozumieć.. pomagał mi troche kolega, a datasheet ma 300 stron i tak sie składa, że 20% mojego kodu jest wlaśnie stamtąd więc wiem co to jest datasheet! cieszę się, że dla Ciebie jest to 2+2, ale dla mnie nie.. i od tego chyba jest forum prawda? oświeć mnie.. podaj stronę, gdzie znajdę odpowiedź w datasheet, a za chwilę Ci napisze, że to rozumiem.. ale skąd mam wiedzieć gdzie tego szukać no?!?!?!?!

Udostępnij ten post


Link to post
Share on other sites
...Ciebie jest to 2+2, ale dla mnie nie..

No i właśnie to próbuję Ci wytłumaczyć. Nie znasz podstaw, a bierzesz się za pisanie projektu który Cie przerasta.

... i od tego chyba jest forum prawda? oświeć mnie.. podaj stronę, gdzie znajdę odpowiedź w datasheet,

I to następny argument, potwierdzający fakt iż nie znasz podstaw. To o co pytasz jest w pierwszym rozdziale każdej książki dla początkujących.

Zamiast pytać na forum łaskawie otwórz datascheet na spisie treści i pomyśl który to rozdział.

Bo jeżeli tego nie zrobisz, to co będzie gdy dojdziesz do nieco trudniejszych spraw?

Udostępnij ten post


Link to post
Share on other sites

ok.. zrobię tak.. zajrzę zaraz do spisu treści.. ehh.. wiem co to rezystor podciagający i po co on jest.. ale nie mam pojęcia jak to się ma do tego programu;/

Udostępnij ten post


Link to post
Share on other sites
ok.. zrobię tak.. zajrzę zaraz do spisu treści.. ehh.. wiem co to rezystor podciagający i po co on jest.. ale nie mam pojęcia jak to się ma do tego programu;/

O i to jest właściwe podejście, i napisz co znalazłeś, a ja lub ktoś inny skorygujemy, lub nakierujemy Ciebie dalej.

EDIT:

Dodam jeszcze tylko, że to będzie powiązane ze schematem, Twojego układu - załącz go tutaj.

Udostępnij ten post


Link to post
Share on other sites

Tak.

Przeczytaj co dodałem do postu powyżej.

Udostępnij ten post


Link to post
Share on other sites

Czy teraz już wiesz to co chciałeś wiedzieć?

Czy jeszcze czegoś nie rozumiesz?

Udostępnij ten post


Link to post
Share on other sites

np. PORTD = 0b00101000; 0b001(ta jedynka oznacza, że jest podciągnięcie na TSOP)01000. Które bity mnie interesują?? od razu po tej wazniej jedynce jest 01.

a tu np. 0b00110010 jest 10. Z tabeli wynika, iż nie ma tutaj podciagnięcia, tak? A te 10 na końcu nie jest dla mnie wazne?

Udostępnij ten post


Link to post
Share on other sites

rybazmarsa88, mimo że moja przygoda z C jest dość mała. To radziłbym unikać taki zapisów jak są u Ciebie, bo później ciężko się połapać co się dzieje.

Lepiej stosować przesunięcia bitowe na odpowiednią pozycje.

Udostępnij ten post


Link to post
Share on other sites
np. PORTD = 0b00101000; 0b001(ta jedynka oznacza, że jest podciągnięcie na TSOP)01000. Które bity mnie interesują?? od razu po tej wazniej jedynce jest 01.

a tu np. 0b00110010 jest 10. Z tabeli wynika, iż nie ma tutaj podciagnięcia, tak? A te 10 na końcu nie jest dla mnie wazne?

Oj, niedobrze. Ty nawet nie wiesz co to jest PORTD i jak działa.

Przeczytaj może to na bazie polskiej dokumentacji dla ATmega16:

http://mikrokontrolery.blogspot.com/2011/04/polska-dokumentacja-atmel.html

[ Dodano: 03-09-2011, 13:33 ]

Lepiej stosować przesunięcia bitowe na odpowiednią pozycje.

Co nieco na ten temat: http://mikrokontrolery.blogspot.com/2011/04/problemy-c-ustawianie-i-zerowanie-bitow.html

Generalnie zastanów się nad kupnem książki. Wtedy ruszysz z kopyta do przodu:

http://mikrokontrolery.blogspot.com/p/ksiazki-dla-ciebie.html

Udostępnij ten post


Link to post
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...