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



Teraz jest 7 mar 2026, o 18:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 13 lis 2015, o 23:50 
Offline
Użytkownik

Dołączył(a): 17 kwi 2014
Posty: 27
Pomógł: 0

Otóż wysyłam do Terminala poprzez przejściówkę rs232-usb pojedynczego chara co jakiś czas. W Terminalu niestety otrzymuje tylko znaki null. Terminal jest ustawiony na odpowiedni port, baudrate 9600,data bits 8,parity none,stop bits 1. Zwierałem Tx i Rx przejściówki, więc wiem, że przejściówka na pewno nie stanowi problemu. Natomiast to jest prosty kod którym chciałem sprawdzić poprawność działania protokołu :

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


Byłbym bardzo wdzięczny gdyby ktoś mi pomógł rozwiązać ten problem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2015, o 09:55 
Offline
Użytkownik

Dołączył(a): 05 lut 2014
Posty: 252
Lokalizacja: obok Częstochowy
Pomógł: 14

Lyserg napisał(a):
while ( !( UCSR0A & (1<<UDRE0)) );


A toto?

Aa, wróc to jest dobrze. Jedynie obliczanie UBRR zmieniłbym na takie
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: 14 lis 2015, o 10:30 
Offline
Użytkownik

Dołączył(a): 17 kwi 2014
Posty: 27
Pomógł: 0

Niestety nadal otrzymuje śmieci. Poprawiony kod :

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


Ustawienia z terminala:

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2015, o 12:56 
Offline
Moderator
Avatar użytkownika

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

A procek taktowany jest pewnie fabrycznym 1MHz i się dziwisz że masz śmieci w terminalu

_________________
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: 14 lis 2015, o 13:08 
Offline
Użytkownik

Dołączył(a): 17 kwi 2014
Posty: 27
Pomógł: 0

Jeżeli chodzi Ci o to, że przy tej częstotliwości powinienem się spodziewać błędów transmisji to wiem, ale ja wysyłając 2000 znaków np. 'c' nie otrzymam ani jednego poprawnego w terminalu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2015, o 13:11 
Offline
Moderator
Avatar użytkownika

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

A spodziewaj się tak dalej ;) do bólu .... ile chcesz

_________________
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: 14 lis 2015, o 13:44 
Offline
Użytkownik

Dołączył(a): 17 kwi 2014
Posty: 27
Pomógł: 0

Ustawiłem clock na 8MHz, przy baudrate 9600 powinienem uzyskać 0.2% błędu według datasheetu. Wartość MYUBBR próbowałem wyliczać jak i podstawiałem też już wyliczoną wartość 51, bo taką wyczytałem z datasheetu. Niestety nadal otrzymuje tylko znaki null. Dodam, że w programie Realterm przy otrzymywaniu tych śmieci świeci się dioda BREAK, która mówi o tym, że "Break is when the RXD line is broken".



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2015, o 13:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 721
Lokalizacja: Zielona Góra
Pomógł: 75

Brakuje mi jeszcze włączenia globalnego zezwolenia na przerwania po inicjalizacji UART'a.

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

_________________
pozdrawiam
phill2k



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2015, o 13:55 
Offline
Użytkownik

Dołączył(a): 17 kwi 2014
Posty: 27
Pomógł: 0

Póki co, nawet nie używam przerwań od UART'a.

EDIT:
Podłączyłem tx od avr do modułu bluetooth i zacząłem wysyłać dane do telefonu i tutaj wszystko wygląda okej. Wina chyba jednak leży po stronie przejściówki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2015, o 14:12 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

Lyserg napisał(a):
Póki co, nawet nie używam przerwań od UART'a.


Puki co nawet nie używasz uarta :)

uart to takie stworzenie które działa zawsze , najprostsza komunikacja

przeanalizuj jeszcze raz wszystko co robisz



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO