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



Teraz jest 30 sty 2025, o 21:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 15 wrz 2013, o 07:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Witam,
Próbuje uruchomić komunikację RS232 <-> UART. Kupiłem konwerter oparty na FT232RL
http://sklep.modulowo.pl/pl/p/MOD-05.Z- ... towany/121

Niestety nie umiem uruchomić podstawowej komunikacji (wysyłania jednego znaku ). Wykorzystuje do tego celu podstawowe funkcje inicjalizujące i wysyłające ( z książki Mirka). Podłączenie przejściówki do mikrokotrolera:

Obrazek

Podłączyłem sobie diode LED do sygnalizacji w którym miejscu się wysypuje i zaobserwowałem że pętla while wykonuje się tak jakby raz. Zaznaczę że wykorzystuje usbasp (koci).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 08:25 
Offline
Użytkownik

Dołączył(a): 06 paź 2011
Posty: 92
Lokalizacja: Kraków
Pomógł: 2

Skoro piszesz, że sobie debugujesz program diodą LED do pochwal się listingiem main.c Może tam masz coś nie tak.
Naprawdę będzie nam łatwiej Ci pomóc.
Ustawiłeś w terminalu i w programie tą samą prędkość? Coś w ogóle się na terminalu pojawia? Jakieś krzaczki? Uruchamiasz układ na płytce stykowej czy może na gotowym zestawie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 08:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Cześć,

- pokaż kod
- jakiego terminala na komputerze używasz? masz dobrze prędkość ustawioną?
- czy masz zainstalowane sterowniki do ft232 ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 08:50 
Offline
Moderator
Avatar użytkownika

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

dokładnie jak piszą koledzy wyżej - bo połączenia masz dobre - więc diabeł hmm BUG tkwi pewnie w tym co robisz w kodzie w procku no albo też w terminalu na PC itp.

_________________
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: 15 wrz 2013, o 11:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Zamieszczam kod programu.

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


Po wgraniu do procesora na terminalu pokazują się jakieś krzaczki, ale tylko kilka i nie pojawiają się następne. W terminalu mam ustawiony port: com4, 9600, parzystość: NIE, potwierdzanie: NIE, 1 bit stopu. Używam terminala Putty. Dodam jeszcze że dioda się zapala i świeci cały czas.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Wykorzystuje atmege8, a układ mam poskładany na stykówce.

Nie rozumiem do czego zmierzasz. Przecież błąd dla taktowania procesora 8MHz jest 0,2%, czyli wartość do przyjęcia. Poza tym dlaczego cały terminal nie zapełniają mi krzaki?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

A echo test jest ok?

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Możesz rozwinąć swoją myśl. Co znaczy echo test? Ja chce tylko wysłać do terminala, mam tylko jedną funkcję wysyłającą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Zwierasz RxD i TxD w procku i wysyłasz cokolwiek z terminala i patrzysz, czy wraca.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:34 
Offline
Moderator
Avatar użytkownika

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

marc90 napisał(a):
Nie rozumiem do czego zmierzasz. Przecież błąd dla taktowania procesora 8MHz jest 0,2%


A jesteś pewien, że twój procek jest taktowany 8MHz ? fusebity przestawiłeś pan ? ;) czy zaraz się okaże jak to bywa w takich przypadkach, że myślałeś że wystarczy tylko wpisać częstotliwość taktowania 8MHz we właściwościach projektu a fusów wolisz nie ruszać ? ;) ... to niestety jedna z najczęstszych przyczyn takich problemów :(

------------------------ [ Dodano po: kilkunastu sekundach ]

jak są krzaczki to połączenie jest dobre ;) tylko właśnie szwankuje częstotliwość i niedopasowanie pomiędzy PC i prockeim

_________________
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: 15 wrz 2013, o 12:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Ledes napisał(a):
Zwierasz RxD i TxD w procku i wysyłasz cokolwiek z terminala i patrzysz, czy wraca.



Chyba trzeba zrobić to zwarcie w przejściówce a nie na procku



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Ledes napisał(a):
Zwierasz RxD i TxD w procku i wysyłasz cokolwiek z terminala i patrzysz, czy wraca.


Bardzo dobry pomysł. Muszę sprawdzić.

Panie Mirku do zmiany fusebitów wykorzystałem MkAvrCalculator, w zakładke fusy uproszczone i wybrałem 8 MHz. Następnie wybrałem zapis fusebitów i dałem zapisz do procka. Po odczytaniu fuse bitów Slow SCK zmieniło się na brak, a w zakładce fuse uproszczone wartość pozostała 8Mhz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Można i na przejściówce a można i na procku. Jak na procku to przetestuje więcej. ;)

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Sprawdzę oba urządzenia- Atmege oraz przejściówkę. Tylko gdzie mam podłączyć gnd przejściówki? Zostawić luzem?!

Panie Mirku tylko dlaczego jeżeli ja wysyłam w pętli while ciągle wartość 'A', a krzaczki nie zapełniają całego terminala? Tylko się pojawiają raz, dioda świeci (nie miga) i koniec.



Ostatnio edytowano 15 wrz 2013, o 12:48 przez marc90, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Tak, zewrzyj tylko na przejściówce TX z RX a gnd w powietrzu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Nie jestem do końca przekonany czy GND powinno być w powietrzu. Wtedy na gnd mamy stan wysokiej impedancji, a gnd jest naszym odniesieniem dla sygnałów TxD oraz RxD.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 12:59 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3210
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

marc90 napisał(a):
Nie jestem do końca przekonany czy GND powinno być w powietrzu. Wtedy na gnd mamy stan wysokiej impedancji, a gnd jest naszym odniesieniem dla sygnałów TxD oraz RxD.


Jeśli urządzenie jest zasilane to jest tam masa a nie wysoka impedancja.

A napięcie punkt odniesienia rozpatrujemy kiedy łączymy między sobą 2 układy/urządzenia, wtedy to ma znaczenie.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 13:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

GND przejściówki powinno być połączone z GND procka. To jak piszesz jest poziom odniesienia dla sygnałów.
Nie musisz łączyć mas, gdy robisz echotest tylko na przejściówce.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 13:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Jak już ogarniesz połączenia to dopisz sobie do programu:

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


i zrób taką inicjalizację:
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: 15 wrz 2013, o 13:20 
Offline
Użytkownik

Dołączył(a): 06 paź 2011
Posty: 92
Lokalizacja: Kraków
Pomógł: 2

marc90 napisał(a):
dioda świeci (nie miga)


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


Dioda miga tylko Ty tego nie widzisz ;)
Przeanalizuj dokładnie co robi procesor:
    Włącza LED
    wysyła literkę A
    czeka 1s
    wyłącza LED
    idzie do początku pętli i znowu włącza LED
Nie masz szans zobaczyć mignięcia LED-a



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 16:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2013
Posty: 79
Lokalizacja: Rybnik
Pomógł: 2

Dziękuje Panowie za wszelkie sugestie i podpowiedzi. Niestety dzisiaj już nie mam czasu żeby przetestować wasze rady, jutro pozmieniam program wedle waszych zaleceń i się odezwę :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 wrz 2013, o 22:15 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

Mam podobny problem co kolega. Łączę ze sobą 2 uC, atmega8 oraz 168A poprzez uart. Linie RXD oraz TXD są połączone na krzyż, masy obu uC są połączone. Oba uC pracują z tą samą częstotliwością i mają ustawioną tą samą wartość BautRate. Po ustawieniu prędkości UBRR zgodnie ze wzorem(czy to z noty, czy z bloga ), mój uC nie odbiera poprawnie wysyłanego znaku. Inicjalizacja oraz funkcje wysyłania, czy odbioru w przerwaniu zostały napisane zgodnie z książką Pana Mirka. Jedynie po dobraniu wartości UBRR ręcznie (równej 6, kiedy zgodnie z notą powinna wynosić 12 dla (2MHz, 9600)) otrzymuję jakąś sensową odpowiedź, obarczoną co jakiś czas błędem. Główkuję już kilka dni i nie mogę wymyślić co może być przyczyną ..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 gru 2013, o 16:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 paź 2013
Posty: 61
Lokalizacja: Skierniewice
Pomógł: 0

Witam,

Pozwolę sobie przyłączyć się do tematu:)
Zwracam się z pytaniem:

Jak przywrócić ustawioną fabrycznie częstotliwość i źródło taktowania w zestawie ATB rev:1.04?

Trochę tam pozmieniałem i nie wiem jak to odwrócić?
Załączam screena z MkAVRcalculatora, w zestawie mam ATmega32.

Obrazek

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 gru 2013, o 16:43 
Offline
Moderator
Avatar użytkownika

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

No to jeśli tak masz ustawione to to jest fabryczne ustawienie ;)

zewn. kwarc ... i to wsio ... a masz przecież w zestawie kwarc 11,0592MHz

_________________
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: 19 gru 2013, o 17:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 paź 2013
Posty: 61
Lokalizacja: Skierniewice
Pomógł: 0

Dziękuję Panie Mirku:)
No właśnie już teraz wiem, że tak jest. Za szybko zwracam się o pomoc:)

UART śmiga. Zrobiłem na poczatku: Clean a potem Build All i poszło ładnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2014, o 11:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 paź 2013
Posty: 61
Lokalizacja: Skierniewice
Pomógł: 0

witam,

Męczę się już od paru godzin i nie wiem co jest grane. Mianowicie: nie działa mi projekt w którym korzystam z UART i SPI(odczyt danych z akcelerometru). Wcześniej wszystko było ok.
Przyznam się, że trochę grzebałem w miejscach gdzie można przylutować moduł BTM 222 tzn. nie mające jeszcze w/w modułu przylutowałem podstawkę taką o jakiej p. Mirek mówi w poradniku, tylko precyzyjną i okazało się, że ona nie będzie dobra, bo ma za małe otwory pod goldpiny i wylutowałem ją(raniąc przy tym chyba trochę te otworki w PCB i może też ścieżki). Teraz BTM przyszedł i chciałbym go skonfigurować, ale po pierwsze widzę, że uruchamiając ten projekt nic nie otrzymuję w terminalu.
Gdy uruchomiłem samego UARTA otrzymywałem "krzaczki" w terminalu, pomimo że prędkości w programie i terminalu zgadzają się i wynoszą 9600.

Co może być nie tak?;)
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2014, o 12:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Lukasz_wat napisał(a):
Teraz BTM przyszedł i chciałbym go skonfigurować, ale po pierwsze widzę, że uruchamiając ten projekt nic nie otrzymuję w terminalu.


Czyli masz "krzaki" przy połaczeniu z BTM czy przez BTM ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2014, o 14:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 paź 2013
Posty: 61
Lokalizacja: Skierniewice
Pomógł: 0

BTM nie bierz teraz pod uwagę. Mam problemy teraz z UARTEM po kablu..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2014, o 16:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Jesteś pewny, że nie zmienił się parametr _UBRR przy inicjalizacji uart ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2014, o 19:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 paź 2013
Posty: 61
Lokalizacja: Skierniewice
Pomógł: 0

Cytuj:
parametr _UBRR


nie zmienił się.

A czy lutując podstawkę pod BTM 222 mogłem coś zepsuć jeśli np. połączyłem gdzieś luty?

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: 31 ]  Przejdź na stronę 1, 2  Następna strona

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