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



Teraz jest 10 lip 2026, o 10:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 24 lut 2014, o 13:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Walczę już, któryś dzień z kolei (oczywiście z przerwami) przegrzebałem forum, noty PDF a ta cholera i tak nie działa w pełni.
Może od początku. Póki co po bascomie mam nieskażony umysł uartem, bo nie był mi nigdy potrzebny :), ale teraz postanowiłem drążyć temat i wreszcie go ogarnąć. Na warsztat poszły biblioteki Mirka i po zaktualizowaniu rejestrów dla potrzeb A48 ruszyło nadawanie z AVR...i na tym koniec. Gdy z terminala podczas nadawania wpisałem cokolwiek próbowałem nadać (pierwszy raz przez przypadek to zauważyłem) to od razu nadawanie z AVR zostało przerwane dosłownie... w pół słowa. Dopisałem więc odbiór (na podstawie jakiegoś przykładu tu z forum) i nadal nic. Dorobiłem pułapkę w pliku Mirka żeby zobaczyć czy wchodzi w przerwanie... nadal nic. Już oczopląsu od rejestrów dostaje i nie wiem co jeszcze powinienem ustawić. Może coś jeszcze powinno być włączone, albo zmieniony jakiś bit... poddaję się. Poniżej wszystkie zmodyfikowane pliki. Wysyłanie w pliku main.c zakomentowane (działa) i skupiłem się tylko na odbiorze przez AVR. W teorii program powinien odebrać dane i podać jakąś liczbę bajtów jako echo. Korzystam z tradycyjnej prostej przejściówki USB-UART (na FT232RL) i ona działa prawidłowo (zwarłem RX z TX i miałem echo na terminalu. Nie wiem, może źle korzystam z funkcji. Jak to się popularnie mówi POMOCY! ;)


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



i plik głowny:

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

_________________
http://www.sylwekkuna.com



Ostatnio edytowano 24 lut 2014, o 15:28 przez SylwekK, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2014, o 14:33 
Offline
Moderator
Avatar użytkownika

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

Dlatego najlepiej gdy się zaczyna takie przejście to próbować sobie odpalić to na oryginale czyli na ATmega32 - wtedy gdy będzie widać że działa - to i łatwiej będzie szukać swojego błędu w przportowaniu kodu na inny procek

_________________
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: 24 lut 2014, o 14:42 
Offline
Nowy

Dołączył(a): 23 lut 2014
Posty: 20
Lokalizacja: Szczecinek
Pomógł: 3

A spróbuj zrobić tak, w pętli głównej wpisz tylko:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Na terminalu powinno pojawić się echo.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2014, o 15:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

mirekk36 napisał(a):
Dlatego najlepiej gdy się zaczyna takie przejście to próbować sobie odpalić to na oryginale czyli na ATmega32

Chyba kiedyś zainwestuje w ten procek do testów:) przeważnie działam na rodzinie A48/88/168 i tiny13 :) Po prostu nie było mi na razie potrzeba więcej pinów czy pamięci.

@Rychu - co prawda teraz nie zatrzymuje się już wysyłka (jak to wcześniej było), ale na terminalu mam cały czas drukowane takie coś <00><00><00><00><00><00><00>...

Aaaa, i jedno wyjaśnienie (rutyna zżera) to przerwanie RX, o którym pisałem, że pułapka nie reaguje to jednak działa. Podpiąłem diodę pod PB0 przez pomyłkę... W każdym razie coś jest nie tak.

------------------------ [ Dodano po: 59 minutach ]

Uff, coś drgnęło. Taki zapis wreszcie wyświetla mi echo:

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

Teraz powalczę z tablicą :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2014, o 21:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

No i wywalczyłem :mrgreen:
Testowałem różne sposoby przechwytu bufora i wymyśliłem sobie taki, który najmniej blokuje pętle główną. Przechwycić z "węża" i tak zdąży, bo to docelowo pojedyncze komendy będą z wysyłką potwierdzenia przed przyjściem następnej wiadomości ;)
W międzyczasie okazało się, że mój terminal nie wysyłał odpowiednich znaków na końcu stąd pierwsze testy były stosunkowo trudne i chaotyczne, ale kiedy mnie pokusiło wysłać ręcznie kilka znaków przez odpowiednie makro z kompa wtedy wszystko się wyjaśniło.
Może ktoś skorzysta, poniżej kod z ustawieniami dla migadełka - zawsze lubię testowo popatrzyć czy nic się nie gryzie i nie wstrzymuje pętli 8-)

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

_________________
http://www.sylwekkuna.com



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Baidu [Spider] i 3 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