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



Teraz jest 29 mar 2024, o 00:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 38 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 6 gru 2017, o 00:21 
Offline
Użytkownik

Dołączył(a): 02 maja 2013
Posty: 111
Pomógł: 0

Zacząłem wprowadzać obsługę UART'a do swojego mikrokontrolera. Posłużyłem się program opisanym w bluebooku. Mam co do niego kilka pytań:
- jak działa przerwanie USART1_TX_vect ? W kodzie jest ono zaimplementowane jako
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
. Czyli jego działanie jest takie, że gdy coś jest wysyłane, to odblokowuje nadajnik, a gdy nie jest nic wysyłane, to nadajnik jest zablokowany?

- przerwanie USART1_RX_vect . Z tego co rozumiem, to działa ono tak, że gdy w buforze UDR1 pojawią się jakieś dane, to przerwanie się uaktywnia i następuje odczyt bajtu do bufora cyklicznego. Mam rację?

Głównie chciałbym się dowiedzieć czegoś o tym pierwszym przerwaniu, w sensie kiedy się ono uaktywnia, a kiedy nie

Pozdrawiam


EDIT: Moje niejasności się rozwiał. Nie rozumiałem troszkę kwestii nadawania (ustawiania pinu DE na odpowiedni stan). Jednakże doszukałem się w internecie na stronie Atnel uaktualnienia do biblioteki MKUART, gdzie wszystko było już poprawnie napisane i wszystko dobrze zrozumiałem :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2017, o 14:41 
Offline
Użytkownik

Dołączył(a): 02 maja 2013
Posty: 111
Pomógł: 0

Witam
Pracując nad wprowadzeniem komunikacji do swoich płytek elektronicznych mam jedno pytanie: czy takie podłączenie:
Obrazek
jest połączeniem poprawnym i wystarczającym do poprawnego działania komunikacji RS485? W obydwu układach (sterowniku i panelu) byłoby takie podłączenie, zaś komunikacja by zachodziła przez przewód ekranowany. Jest to poprawne, czy coś trzeba zmienić?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2017, o 17:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jak nie masz układów z funkcjonalnością fail-safe to musisz dodać jeszcze rezystory pociągające.

https://e2e.ti.com/blogs_/b/industrial_ ... ur-network

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2018, o 15:03 
Offline
Użytkownik

Dołączył(a): 02 maja 2013
Posty: 111
Pomógł: 0

Witam
Po wprowadzeniu w sterowniku i panelu płytek korygujących, dołożona została komunikacja RS. I tutaj napotkałem pewne problemy. W obydwu urządzeniach działa komunikacja RS232 (przy bezpośrednim połączeniu linii TX/RX wszystko działa). Problem pojawia się przy próbie wykorzystanie komunikacji RS485 (urządzenie będzie działało w warunkach przemysłowych, więc jest to konieczne). DO komunikacji wykorzystuję układ MAX485. Sposób podłączenia w obydwu urządzeniach wygląda tak:
panel:
Obrazek

sterownik:
Obrazek
(złącza z lewej są podpięte do sterownika do linii TX, RX oraz data enable)

Do obsługi RSa wykorzystuję bibliotekę MkUART. Jest w niej wybrana komunikacja RS485, itp. I niestety pojawia się problem - po podłączeniu w ten sposób dwóch urządzeń nie dzieje się nic. Do połączenia wykorzystuję kabel ekranowany, jedna żyła to linia A, a oplot to linia B. Moje pytanie brzmi - czy ktoś może wie, z czego wynika ten problem, czy jest to złe podłączenie czegoś na PCB, czy coś w programie?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2018, o 15:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A piny RE to gdzie podłączyłeś ...?

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2018, o 15:19 
Offline
Użytkownik

Dołączył(a): 02 maja 2013
Posty: 111
Pomógł: 0

To jest dobre pytanie... A do czego powinny być podłączone? Do masy? W nocie katalogowej jest coś takiego: "Receiver Output Enable. RO is enabled when RE is low; RO is high impedance when RE is high."

EDIT: Dzięki za zwrócenie uwagi. Ogarnąłem że wystarczy ten pin podłączyć do tej samej nóżki mikrokontrolera, co DE, wtedy jest odpowiednie sterowanie stanem wysokim i niski. Dzięki wielkie za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2018, o 19:59 
Offline
Użytkownik

Dołączył(a): 02 maja 2013
Posty: 111
Pomógł: 0

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

której zadaniem jest pobranie stringa i zapisanie go do tablicy jest poprawna? W mainie wygląda to tak:
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 lut 2018, o 16:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Jest poprawna, ale string to słowo kluczowe i może się program wysypać w zależności od kompilatora.

_________________
Situs != Situs



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: 38 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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