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



Teraz jest 27 lis 2024, o 14:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 69 ]  Przejdź na stronę Poprzednia strona  1, 2, 3
Autor Wiadomość
PostNapisane: 8 mar 2018, o 11:45 
Offline
Moderator
Avatar użytkownika

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

zubik napisał(a):
Cóż nie pierwszy raz mi mówisz że czegoś nie rozumiem

dlatego starałem się tobie ale nie tylko tobie wyjaśnić jak się ma atomic do korzystania z niego w przerwaniach - a nie ... żeby pisać że odbiór soft uart należy robić TYLKO w przerwaniach - jak widać nawet nie przeczytałeś też o co pytał autor ułańskiej fantazji ... a pisał właśnie o odbiorze w procedurze obsługi przerwania PCINT - na to ty napisałeś:

zubik napisał(a):
Nie wiem jak jest zbudowana biblioteka Mirka, ale ja znalazłem fajną w internecie i tam funkcja getchar() jest wykonywana atomowo, czyli wszystkie przerwania są zawieszone.

Dlatego warto czasem też czytać ze zrozumieniem - chociaż ... z drugiej strony nie dziwię się w tym wypadku, bo ja też nie rozumiem autora ułańskiej fantazji do teraz dlatego dalej nie piszę. Tyle że jak odwołujesz się do mojego poradnika to zajrzyj do noty PDF Atmela

AVR304.PDF (do tej noty też jest oczywiście kod źródłowy od Atmela)

to zobaczysz, że większość kodów w necie odnośnie soft uart bazuje właśnie na tym rozwiązaniu w tym również ta do której link podałeś i aż szkoda że nie chce ci się tak podstawowych rzeczy sprawdzić

_________________
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: 8 mar 2018, o 11:57 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 166
Pomógł: 0

No zgoda że każda zmiana generuje przerwanie PCINT, ale tak jak wkleiłem kod obsługi tego przerwania wyżej ... przerwania od PCINT są zatrzymywane i sprawdzany jest stan Pinu RX i jak jest niski (czyli wykryte zbocze opadające) to odczytuje dane no i później znowu odpalamy przerwania od PCINT. Wiec tutaj jest chyba ok, zresztą w mirkowej bibliotece tak to jest właśnie zrobione tyle że na INT0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2018, o 12:24 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 166
Pomógł: 0

Atmega644PA https://www.mouser.com/ds/2/268/atmel-4 ... 108094.pdf



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2018, o 12:35 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 166
Pomógł: 0

No tak samo jak w INT0 sprawdzałem to ... zresztą pisze że w czasie obsługi przerwania i tak jest kasowana ta flaga



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2018, o 13:41 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 166
Pomógł: 0

też mi to wpadło w oko poprawiłem ale nic to nie zmieniło jeśli chodzi o ten problem co wyżej ...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2018, o 15:08 
Offline
Użytkownik
Avatar użytkownika

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

faber33 napisał(a):
Ale jeśli odczytuję dane przez SoftUart to "powstaje" mi bardzo dużo błędów w sprzętowym UART :/
Jakie to są błędy? Czy gubisz dane, masz niepoprawne dane w buforze czy na sprzętowym UARTcie masz raportowane w rejestrze błędy odbioru (jak tak to jakie)?
Bo jak to nie jest błąd sprzętowego odbioru, to stawiałbym na jakieś błędy związane z buforami, wskaźnikami, zmiennymi.
Najlepiej zrób test wyłączając obsługę odebranych danych - odebrane dane z softUART ignoruj a odebrane na sprzętowym UARTcie wysyłaj zwrotnie do sprawdzenia - koniecznie nigdzie ich nie zapisuj. Jak będzie OK, to nie jest problem z odbiorem a obsługa danych i wtedy posprawdzaj bufory.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2019, o 22:56 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2586
Pomógł: 128

Poczytaj o transmisji szeregowej. Zobacz co się znajduje przed paczką danych.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2019, o 23:45 
Offline
Moderator
Avatar użytkownika

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

felinutti napisał(a):
1+8+sb. Jak rozumieć tą pierwszą jedynke?

A ja myślę, że trzeba zacząć od tego:



a nawet całą playlistę odnośnie komunikacji RS232 bym obejrzał - żeby zrozumieć podstawy - a nie - zabierać się nawet nie od środka - tylko od asemblera

_________________
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: 26 lis 2019, o 23:12 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2586
Pomógł: 128

Tak - np. analizator em logicznym



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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