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



Teraz jest 28 mar 2024, o 19:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
 Tytuł: rs-485 problem
PostNapisane: 1 maja 2017, o 22:15 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

Witam

układ - wygląda tak: atmega88 -> max485-> przejścówka atb usb -> terminal Putty
chciałbym wysłać z terminala jakiś znak potem pobrac go do jakieś zmiennej za pomocą funkcji uart_getc a nastpnie wyświetlić tą zmienną w terminalu - pomyslałem że mogłbym to zrobić tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Problem w tym że zamiast wyswietlać znak nadany z terminala to wyswiela się krzak lub zupełnie inne przypadkowe literki lub cyfry
Dodam jeszcze że wysyłanie z mikrokontrolera działa bo string rs-485 wyświetla sie prawidłowo.
Nadawanie włączam w przerwaniu nadawczym a wyłączam w przerwaniu UART_TXC_vect po wysłaniu ramki.
No i jeszcze dodam ze coś sie wysyła z terminala bo dioda na przejściówce się zaswieca i przerwanie odbiorcze takze sie wykonuje.

Co jest źle że jak zwykle program robi nie to co chiałbym :-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2017, o 21:12 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

Czy moj tok myslenia jest poprawny??? bo moze wogole to nie ma prawa działać , moze przyczyna lezy zupełnie gdzie indziej, może ktoś mogłby napisac kawałek kodu jak to powwino wyglądać, może przycyzna w sprzęcie?

Bardzo byłbym wdzieczny za jakieś wskazówki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2017, o 21:59 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

A nie zamieniles A-B przez przypadek? Musisz to podlaczyc A-A, B-B



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2017, o 07:45 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

mam dobrze podłączone A-A B-B, zaczynam podejrzewać złą konfiguracje putty"ego bo próbuje wysłać znak w terminalu poprostu wciskając jakąś litere lub cyfre na klawiaturze komputera, może powinno sie to robić inaczej?
Zauważyłem tez że przerwanie odbiorcze wykonuje się także za każdym razem kiedy mikrokontroler coś nada - dlaczego?
W przerwaniu odbiorczym zmieniam stan diody led ktora jest wskaźnikiem czy nastąpiło przerwanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2017, o 08:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

pokaż jeszcze przerwania co tam robisz,
ja uzywam do nadawaia innego terminala niz putty, do odbioru jest cacy ale wysyłanie z niego znaków nigdy mi nie szło.
spróbuj z realterm
wpisuje się całe stringi i wydyła przy pomocy buttona. Można też zaznaczyć automatyczne dodawanie \cr \lf

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2017, o 08:29 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

W putty jest kilka opcji do konfiguracji. Ale akurat przy połączeniach z RS485 używałem Realterma (ze względu na potrzebę wysyłania zdefiniowanych ramek) - ale chyba tez coś było na rzeczy z Putty i rs485.
P. S. Obejrzyj poradniki Mirka o RS232 dla początkujących.

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2017, o 16:18 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

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

przerwanie odbiorcze:

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


przerwanie " od wysłania ramki"

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 maja 2017, o 07:49 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

Spróbuje przetestować to miedzy dwoma mikrokontrolerami tzn. czy jak drugi mikrokontroler wyśle znak do pierwszego to czy bede mogł pobrać go do zmiennej z bufora cyklicznego odbiorczego i tą zmienną wyswietlić w terminalu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 maja 2017, o 08:58 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

A próbowałeś w ogóle transmisję bez Max485? Jak nie to zacznij od tego - łącząc uC z PC (via przejściówkę) - tx z rx i rx z tx.
Odradzam do pierwszych prób korzystanie z dwóch uC, bo nie będziesz wiedział czy Twój problem leży po stronie jednego, drugiego a może obu uC.
Zacznij od najprostszych testów. Jak przejdą pomyślnie to przejdź do kolejnego etapu - wdrażając kolejne punkty.

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 maja 2017, o 17:45 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

dobry pomysł spróbuje ten sam kod sprawdzić przy zwykłym rs 232



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 maja 2017, o 06:56 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

jest postep :-) bo po rs 232 program działa prawidłowo!!!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 maja 2017, o 07:39 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Od razu zadziałał, czy musiałeś coś poprawić?

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 maja 2017, o 09:47 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

od razu zadziałał - problem musi sie kryć w tym że przy rs485 po każdym nadaniu z mikrokontolera wykonuje sie przerwanie odbiorcze(nie ma czegoś takiego przy rs232) z tym ze ja nic nie wysyłam jak juz to putty tylko że dioda na przejscówce TX nie sygnalizuje aby puty cos wysyłał.
Dziwne to jest.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 maja 2017, o 10:00 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Odpal inny terminal - np. Realterm (z prawami admina) i popróbuj

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 maja 2017, o 18:35 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

a jak się skonfigurować ten terminal pod komendy vt100 ???



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2017, o 08:00 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

Jest Odkrycie !!! całe zamieszanie i nieproszone przerwania w rs 485 wywołują komendy vt100 do terminala których używałem wcześniej bez tych komend nawet na puttym wszystko śmiga , tylko nie wiem jeszcze czemu tak sie dzieje przy rs 485 a przy rs 232 nie, musze poczytać o tych komendach i procedurach :-)



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: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 2 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