Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 15:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 31 paź 2012, o 17:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Witam!
Odpaliłem transmisję po RS485. Dla testu wysyłam z mastera literę "A" i wyświetlam na wyświetlaczu slave-a.

master
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


slave
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Będzie to większy projekt. Sterował będę silnikami DC i kamerą oraz sczytywał wartości z czujników i odsyłał do mastera i z mastera po uarcie do PC.
Stąd moje pytanie (może głupie ale...). Czy dobrym pomysłem było by wysyłanie znaków ASCII z mastera i odbieranie w slave, a do każdego znaku przypisać akcję np: włącz diodę led, obróć silnikiem w prawo itp. ????

Pozdro
Arek

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2012, o 19:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Bardzo dobry pomysł. Ale korzystaj z buforów cyklicznych - SZCZEGÓLNIE przy odbiorze - zamiast tego co tu zrobiłeś USART_Recive() bo się srogo przejedziesz :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2012, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Oczywiście poprawiłem:)
Jeszcze napiszę jedno spostrzeżenie. Myślałem że konfiguracja RS485 będzie trudna. Ale Mirek jest debeściak:) tak napisana biblioteka,
że nic nie trzeba samemu kombinować:)

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2012, o 21:50 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Ale mam nadzieję że wprowadziłeś te poprawki kodu do tej biblioteki z pierwszej książki ???

http://atnel.pl/uaktualnienia-programow-do-dvd.html

Musisz też mieć na uwadze, że ta biblioteka z pierwszej książki jest że tak powiem bardzo uproszczona i napisana do celów dydaktycznych. Prawdziwą bibliotekę do obsługi RS232 można znaleźć dopiero w ostatnim rozdziale i ostatniej lekcji (ćwiczeniu na DVD) w drugiej książce.

Ale jeśli to teraz ci działa w takiej postaci to dobrze. Przy komunikacji za pomocą pojedynczych kodów ASCII nie odczujesz na tym etapie większych niegodności albo żadnych. W przypadku zastosowania komunikacji komend / stringów szczególnie w większej sieci RS485 - możesz mieć kłopoty.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2012, o 21:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Tak zastosowałem bibliotekę poprawioną.
Mam drugą książkę:) i lookne sobie na bibliotekę odnośnie uarta. Jeśli będą problemy odnośnie komunikacji napewno zapodam wątek:)

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2012, o 21:41 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

No to jeśli masz drugą książkę - to koniecznie proszę przerób ostatni rozdział - jak coś będzie niezrozumiałe to dopytaj śmiało .... ja bardzo chętnie wszystko doprecyzuję czy podpowiem.

tylko tam ew musisz sobie dodać tych kilka linii kodu odnośnie wszczepienia RS485 .... jednak na tej bibliotece dopiero poczujesz siłę EVENTS'ów ;) tzn obsługi RS232/485 z użyciem zdarzeń

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 19:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Kombinuje właśnie teraz z biblioteką MK_USART. Coś własnie nie mogę odpalić komunikacji po RS485.
Co miałeś na myśli:
Cytuj:
tylko tam ew musisz sobie dodać tych kilka linii kodu odnośnie wszczepienia RS485


Lookając na wcześniejsza bibliotekę i nową nic mi się w oczy nie rzuciło niezgodnego.

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

No jeśli nie widzisz różnic w ISR( USART_RXC_vect ), albo w uart_getc(), albo nowej funkcji uart_get_str() nie wspominając o zdarzeniu to ja już nic na to nie poradzę :( albo mówimy o dwóch różnych bibliotekach

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Genaralnie to chodziło mi o inicjalizację. Myślałem że w kompilacji warunkowej czegoś nie ma.

Nie wiem dlaczego komunikacja mi nie działa.
W masterze wysyłam komendę AT
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a w slave to jest twój kod do zapalania diody oczywiście. I nie wiem gdzie popełniam błąd bo niema reakcji.
Z terminala jak wysyłałem tą komendę AT to wszystko grało.

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Najpierw sprawdź sobie panie kochany kod na zwykłym RS232

potem dopiero na RS485

Bo jak ci ruszy na RS232 to będziesz pewien że kopot masz gdzieś w okolicach RS485 a nie "gdzieś tam w kodzie"

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Czyli problem w kodzie. Wyjęte zworki zielone tak jak do RS485, przewody z krosowane - i nic.

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:36 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

skoro tak mówisz to pewnie w kodzie - szkoda tylko że u ciebie w kodzie bo u mnie nie.

A na poważnie to w ogóle nie rozumiem jak to jest - ja pytam i mówię o jednym a ty w ogóle o czymś innym - tak to ten wątek będzie się jeszcze ciągnął przez 20 stron. Chociaż jeśli nie będziesz czytał tego co podpowiadam i odpowiadał na pytania czy sugestie to sorki ale ja się wyłączę z tego wątku i pozostanie sam monolog.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Znaczy się nie rozumiem - sprawdziłem RS232 - tak jak sugerowałeś. Sprawdziłem też wysyłanie komend z terminala.

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2012, o 20:47 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Ja tym bardziej nie rozumiem, co to ma znaczyć

Cytuj:
"sprawdziłem wysyłanie komend z terminala"


i co ? teraz domyślaj się człowieku - czy to oznacza że po sprawdzeniu działa czy może nie działa ?


Może i sprawdziłeś RS232 - ale co to ma znaczyć - takie zdanie:

Cytuj:
"czyli problem w kodzie"


w kodzie co ? w testach po RS232 ? czy po RS485? czy jak - no na prawdę proszę chociaż minimalnie się starać w rozmowie i coś opisywać więcej a nie jakieś zdania rzucone w powietrze i weź się człowieku domyślaj o co chodzi ? co miałeś na myśli ? albo weź i ciągnij delikwenta za język ;) bo go urwę w końcu ;)

Jeśli masz zamiar napisać że problem w kodzie bo ci nie działa po RS232 to zastanów się najpierw 147 razy i poszukaj błędu u siebie. Masz kurka wodna na DVD program napisany przeze mnie na PC - do testowania tej komunikacji w tym przykładzie - możesz sobie sprawdzić .... a ty ot tak sobie piszesz że nie działa .....

Nawet gdyby nie działało - to ja na twoim miejscu próbowałbym dalej coś napisać - co robię, jak robię, dokładnie wszystko żeby ktoś mógł mi jakoś szybko pomóc ..... a ty nie, wystarczy napisać:

Cytuj:
"czyli w kodzie nie działa"


rozumiesz co chcę przez to powiedzieć ? Ok na pewno się nie denerwuję ani tu nie ochrzaniam ciebie ale zwracam wprost uwagę, że warto jednak się wysilić i coś więcej pisać przy zadawaniu pytań bo czas jest cenny zapewne dla każdego

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2012, o 17:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Przeczytałem rozdział na temat odbierania wysyłania komend AT. Dorobiłem swoją funkcję do migania diodą (na razie). Ale nie mogę za nic w świecie odpalić komunikacji po RS485.
Inicjalizuje USART jak to było w bibliotece z pierwszej ksiązki i wysyłam coś takiego:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i klapa nie odbiera tej komendy.

Zaznaczam, że moja dorobiona funkcja działa jak wysyłam komende AT z terminala, tylko po RS485 nie mogę nawiązać komunikacji.

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 10 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO