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



Teraz jest 24 kwi 2024, o 22:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 1 lip 2020, o 17:57 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

Witam proszę o pomoc po dłuższej przerwie wracam do prckow AVR (ATMEGA 32)

Próbuje uruchomić UARTA >> plus terminal na konwerterze po USB.

Wyświetlam sobie literę 'Z' a zamiast tego leci mi ")" nawias.

Kombinowałem już z wszystkim podmianą kwarca , zmianą taktowania , sterowników, do przejściówki USB > RS232 (HL340)
Robię wszystko wg. video - kilkuczęściowego z RS232

Nie ma bata, żeby było coś źle napisane jest oko w oko.

Nie wiem w czym mam problem pewnie jakaś drobnostka być może ktoś z was miał podobne akcje i coś przeoczyłem.

Procek Atmega32
Fusy w tej chwili (1MHz wewn , JTAG = OFF) D9 E1
Fusy domyślnie (0-16MHz zewnętrzny , JTAG=OFF , C9 FF
Przejściówka RS232 HL340 (pin5 - GND , pin2 - RX , pin3 - TX) bezpośrednio wpięta do procka (PD0 , PD1)

Oczywiście TX zprocka podpięty do RX przejściówki.


Zwierając RX i TX w przejściówce-konwerterze i klikając w terminalu na klawiaturze poprawnie przechodzi echo-test


Pozdrawiam

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: 1 lip 2020, o 21:11 
Offline
Użytkownik

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

Masz najprostszy analizator logiczny? Z niego bys sobie od ręki sprawdził z jaką prędkością nadajesz i z jaką odbierasz. A jak nie masz to sobie czym prędzej taki spraw - z nim życie staje sie dużo prostsze - sprawdź filmiki Mirka o analizatorach #365 i #385.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lip 2020, o 21:18 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

Wydaje mi się że od strony programowej wszystko jest ok.
Krok po kroku z filmiku.

Kwarcongi też ok mam kilka do podmiany.
Co by nie ustawić to jakieś dziwne akcje może od tej przejściówki USB > RS232 potrzeba jakiegoś inwertera albo rezystory podciągnąć.
Już nie pamietam bo jakieś 6-8 lat temu używałem jej do innego projektu wykorzystując terminal jako wyświetlacz i wszystko działało.

Myślałem ze sterowniki może coś krzaczą >?? bo do win7 musiałem szukać oryginały mam tylko do starszych wersji WIN.

No ale echo test działa .. :/

Znając życie to jest jakaś pierdoła ..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lip 2020, o 22:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1021
Lokalizacja: Trójmiasto
Pomógł: 189

aothunterpl napisał(a):
Co by nie ustawić to jakieś dziwne akcje może od tej przejściówki USB > RS232 potrzeba jakiegoś inwertera albo rezystory podciągnąć.
UART nie wymaga rezystorów podciągających, a co do inwertera to raczej też niewłaściwa droga bo patrząc na zapis binarny znaku wysyłanego i odbieranego negacja tu nie pomoże.
Czy w programie w którym piszesz kod masz poprawnie zdefiniowaną częstotliwość taktowania uC? Piszesz o ustawieniach fusów, ale też ważne jest by w ustawieniach projektu ustawić również prędkość, bo na tej podstawie preprocesor podstawia do wzoru i oblicza wartość UBRR. Musisz też pamiętać o zależności błędu transmisji od częstotliwości taktowania i wybranej prędkości transmisji (tabelkę z korelacjami masz w każdej nocie procka, błąd rzędu kilku procent jest do przyjęcia, ale im mniej tym lepiej).
Testy na wbudowanym oscylatorze RC procka sobie podaruj, bo sama jego niedokładność może powodować błędy transmisji.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 04:52 
Offline
Użytkownik

Dołączył(a): 09 paź 2016
Posty: 71
Lokalizacja: Olsztyn
Pomógł: 1

Obrazek
A kodowanie znaków w terminalu? UTF-8 czy inne.?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 11:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Witam, dlaczego masz zakomentowane globalne zezwolenie na przerwania "sei()", może to tu jest problem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 12:48 
Offline
Moderator
Avatar użytkownika

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

Daro69 napisał(a):
Witam, dlaczego masz zakomentowane globalne zezwolenie na przerwania "sei()", może to tu jest problem?

bo używa prostych funkcji nie wymagających przerwań

_________________
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: 2 lip 2020, o 13:58 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

Witam dzięki za liczne zaangażowanie.

Wszystkie podstawy jak zdefiniowana wartość kwarcu czy ustawienia w projekcie , poprzez ustawienia terminala są prawidłowe.
Czy obliczenia i dopasowanie częstotliwości - jest OK.
Mam teraz wstawiony nawet kwarcong 11059200 ;]

Sam się zastanawiam właśnie czy nie mam odwróconych poziomów napięć z tej przejściówki.

Problem w tym że korzystałem z niej dobrych ładne lat temu i działało też coś wtedy chyba wspomagałem.
W pracy dziś podmieniałem sobie na inną z tej samej serii i to samo funga tylko nie te znaki :)
Może faktycznie potrzebuje zrobić inwersje.


Obkukam jeszcze od strony elektrycznej.

------------------------ [ Dodano po: 6 minutach ]

tomcat65 napisał(a):
Obrazek
A kodowanie znaków w terminalu? UTF-8 czy inne.?


Tak :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 15:11 
Offline
Użytkownik

Dołączył(a): 09 paź 2016
Posty: 71
Lokalizacja: Olsztyn
Pomógł: 1

Taktowanie jest ważne, ale nie demonizujmy. Robiłem na attiny13 z zegarem 9,6MHz i jeszcze przez softuart i chodziło.
Na próbę zmieniłbym połączenia, czyli TX z TX a RX z RX. A nóż widelec się uda :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 15:59 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

nieee , przewody podłączone prawidłowo naprzemiennie.
Była i zamiana nic nie dała ;]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 16:03 
Offline
Moderator
Avatar użytkownika

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

Pokaż lepiej jak masz ustawione fusebity, jak wyglądają połączenia ? może jakaś fotka?

No i pokaż jak masz ustawione parametry w terminalu - bo czy chcesz czy nie to musisz gdzieś mieć babola - ale trzeba wszystko obejrzeć żeby jakoś pomóc.

_________________
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: 2 lip 2020, o 18:30 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

Witam tak jak pisałem programowo wszystko jest ok.

Problem już rozwiązany okazało się to co podejrzewałem wcześniej , również jeden kolega z elektrody zaproponował to samo, należy zrobić inwersję sygnału TTL.



Dla wszystkich potomnych którzy mają problemy z chińskimi przejściówkami.
Przejściówka HL340 > USB na RS232 -- daje sygnały TTL
Jeśli chcemy ją podłączyć i używać z AVR np. do komunikacji szeregowej <> z terminalem, sygnały należy z przejściówki zanegować.
Po tym zabiegu znaki wyświetlają się na terminalu prawidłowo.

Gdybyśmy chcieli to podłączyć do jakiś urządzeń na prawdziwym RS232 trzeba dostosować jeszcze poziom napięciowy do fizycznego RS-a poprzez dodatkowy układ np. max.



..... co do zabiegu inwersji

Podłączyłem na szybkiego inwerter HEF4069UBP i wszystko działa.

Widocznie dawno temu też tak grzebałem ale pamięć już zawodzi i wypadło z głowy.

ObrazekObrazek


Dzięki za pomoc i naprowadzenie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 19:58 
Offline
Moderator
Avatar użytkownika

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

aothunterpl napisał(a):
Dla wszystkich potomnych którzy mają problemy z chińskimi przejściówkami.

Dla wszystkich potomnych jedyna dobra rada to stosować porządne przejściówki FT232R a nie tam jakąś mega kocią chińszczyznę - tylko proszę mi nie mówić, że droższy scalak bo to śmiechu warte jak się policzy ile dni się walczy z kiczowatą chińszczyzną - a tymczasem jedną porządną przejściówkę chociażby dla porównania warto mieć pod ręką

_________________
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: 2 lip 2020, o 20:58 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

Witam również proszę mi nie wmawiać nic takiego nie pisałem// i nie powiem :)

Wręcz przyznam rację wiadomo co gotowe i sprawdzone to jest ok !.


Ja akurat mam takie cacko jakie mam , w tym wypadku pamięć mnie zawiodła.
Czasem też trzeba wiedzieć jak coś działa lub z tym się zapoznać.
Kosztem kombinowania da się opanować te kocie dziwolągi.


Ale fakt jest taki, że nie wszystko co chińskie to dobre bo jakość kosztuje.

Ale i też nie wszystko co chińskie to złe .. bo większość i markowych rzeczy jest robiona w chinach.

Zapłaci się dobrze to i chińczyk zrobi dobrze jak kol wiek to brzmi :)

Pozdrawiam.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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