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



Teraz jest 20 cze 2025, o 13:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 5 mar 2013, o 14:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lut 2013
Posty: 126
Lokalizacja: Turbia
Pomógł: 0

Cześć, właśnie pracuję nad obsługą rsa, nadawanie działa mi bez problemu odbieranie też ale mam problem, otóż dane docierają do bufora cyklicznego i chcę je jakoś przekazać do programu żeby np wyświetlić je na LCD, niestety nie umiem wymyślić sposobu jak to zrealizować.
Program mam z niebieskiej książki.

Mógłby ktoś bardziej doświadczony coś podpowiedzieć?

Pozdrawiam

_________________
Zestaw ATB 1.04
Niebieska książka
Zielona książka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 14:36 
Offline
Moderator
Avatar użytkownika

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

Najpierw musiałbyś się zastanowić

1. o jakie dane chodzi
2. i jak je obrabiać

bo zwykle na pytanie TAK OGÓLNE to nic nie można odpowiedzieć.

Podstawy tego jak odbierać pojedyncze bajty - masz w niebieskiej książce - zajrzyj sobie do rozdziału "Wstęp do systemów czasu rzeczywistego" i zobacz tam jak realizowane jest odbieranie pojedynczych bajtów np z terminala i za ich pomocą zapalanie bądź gaszenie diody LED .... masz gotowy przykład

bardziej rozbudowana komunikacja - jeśli chodzi o wygodne przesyłanie stringów i ich parsowanie czyli obróbkę - jest w ostatnim rozdziale drugiej - zielonej książki. Ale i na naszym forum znajdziesz przykłady jak koledzy na bazie tylko niebieskiej sami próbowali dochodzić do zrealizowania odbierania stringów - i to z powodzeniem.

_________________
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: 5 mar 2013, o 14:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lut 2013
Posty: 126
Lokalizacja: Turbia
Pomógł: 0

Narazie chodzi mi właśnie o wyświetlenie np napisu na LCD, jedyne co mi sie udało to wyświetlanie kolejno po jednym znaku i to z dużym opóźnieniem.

Poszukam tego co radzisz, dzięki.

_________________
Zestaw ATB 1.04
Niebieska książka
Zielona książka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 19:44 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Witam! Do Atmegi32 mam podłączonego MAX232 oraz konwerter USB z układem MCP2200. Narazie interesuje mnie odbiór danych. Robię wszystko tak jak p. Mirek opisał w swojej książce. Wszystko ładnie śmiga. Nurtuje mnie jeden problem. Wybór w jaki sposób odbieram dane czy po USB czy bezpośrednio po RS232 realizuję sprzętowo poprzez odpowiednią zworkę. Czy jest możliwość takiego wyboru ale programowo i czy jest też możliwość jednoczesnego odbioru danych przez USB i RS232? Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 20:49 
Offline
Użytkownik

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

lukas , czegoś nie rozumiem .....

MCP2200 to tylko przejściówka USB - RS232 TTL więc gdzie tu wybieranie czy USB czy RS ??

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 21:21 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

tak wiem, równie dobrze mógłbym podłączyć dwa rs232 i realizować to w ten sam sposób. Chodzi mi o to czy jest jakaś możliwość obsługi dwóch rs232 jednocześnie czy tak jak w moim przypadku takiego konwertera USB razem z rs232.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 21:37 
Offline
Użytkownik

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

tak jest taka możliwość stosuje ten typ na płytkach z M128 gdzie na jednym UART0 wieszam FT232 lub MCP2200 a UART1 mam puszczony przez MAX232 i jako TTL dzięki czemu mam komunikację np:

Bootloader dla klienta USB <--> UART0
komunikacja z modułami np LCD-RS --> UART1

oba pracują niezależnie ... a np komunikacja z bootloaderem lub przesyłanie danych z PC po USB jest identyfikowana na LCD wiszącym
na drugim UARCIE

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 22:10 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Ok. Dzięki za odpowiedź. Myślałem tylko, że jest jakiś tajny sposób na taką transmisję w uC tam gdzie jest tylko jeden UART np. w M32;) Pozdrawiam :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 22:14 
Offline
Użytkownik

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

ależ jest zawsze można drugi UART zrealizować programowo :)
albo sięgnąć po nowsze procki z rodziny xx4 gdzie mamy :

Mega164 /324 /644 /1284

są zgodne pinowo z Mega16/32 a nowocześniejsze i z bogatszym wyposażeniem oraz większym flashem i Ramem

gdzie prawdziwy potwór w obudowie DIP40 to Mega1284

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 22:45 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

To teraz bardzo mnie zainteresowałeś:) Nie wiedziałem, że można UARTa programowo zrobić. Czy w niebieskiej książce p. Mirka, bądź gdzieś tutaj na forum znajdę informacje jak to zrobić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 23:03 
Offline
Użytkownik
Avatar użytkownika

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

Programowy UART jest w niebieskiej książce z tego co pamiętam. Albo w kodach na DVD.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 01:10 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Przejrzałem książkę jednak nie znalazłem w niej informacji o programowanym USARCIE. No chyba, że źle szukam :/. Mógłby mi ktoś to wyjaśnić albo podać na przykładzie jak to jest realizowane?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 11:56 
Offline
Użytkownik

Dołączył(a): 23 sty 2013
Posty: 126
Pomógł: 0

tumacie moje wypociny
program powtorzy to co napisaliscie na terminalu. pamietajcie ze jak chcecie wyslac jakis tekst od nowej lini z procka na terminal to musicie zakonczyc go '\r\n'. po wcisnieciu ENTER na klawce poleci na terminal znak '\r' tylko.

zawsze z komunikacja pomiedzy czymkolwiek i po jakimkolwiek protokole/sposobie zawsze jest wiecej czytania niz zapisywania. norma. mozna napisac taki odpowiedznik funkcji fgets na terminal. w sumie to co zrobilem troszke to przypomina. brakuje tylko ograniczenia co do ilosci odebranych znakow zeby bufor sie nie przepelnil.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 11:59 
Offline
Moderator
Avatar użytkownika

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

ukasz napisał(a):
tumacie moje wypociny
program powtorzy to co napisaliscie na terminalu. pamietajcie ze jak chcecie wyslac jakis tekst od nowej lini z procka na terminal to musicie zakonczyc go '\r\n'. po wcisnieciu ENTER na klawce poleci na terminal znak '\r' tylko.


Dokładnie i to jest krok w dobrą stronę - kolejny przykład (bardzo dobry przykład) na tym forum - jak na podstawie tylko BlueBooka zabrać się za obsługę stringów nadchodzących - a ja w sposób nieco bardziej zaawansowany ale za to strasznie wygodny w użytkowaniu , w GreenBooku

http://atnel.pl/jezyk-c-pasja-programowania.html

w ostatnim rozdziale. Dlaczego tak ? dlatego że najpierw chciałem na wielu innych przykładach troszkę pokazać jak zabrać się za obsługę zdarzeń i callbacków - żeby przy obsłudze RS232 to wykorzystać - bo dopiero wtedy widać wielkie możliwości C w tym zakresie.

_________________
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: 27 mar 2013, o 12:14 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Panie Mirku może Pan jako autor książki podpowie mi czy znajdę w niej informacje na temat programowego UARTu?:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 14:18 
Offline
Moderator
Avatar użytkownika

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

lukas_ napisał(a):
Panie Mirku może Pan jako autor książki podpowie mi czy znajdę w niej informacje na temat programowego UARTu?:)


Akurat tą kwestią na pewno się nie zajmowałem w żadnej z dwóch książek .... ale polecam ci "Software UART module" z tej fajnej stronki pewnego Japończyka ;)

http://elm-chan.org/cc_e.html

ja kiedyś sobie z tego korzystałem z powodzeniem. Bardzo niewielka biblioteka - jedyna wada to to że nie mogą w tle działać inne przerwania. Jeśli to ci nie wystarczy to w necie znajdziesz jeszcze inne rozwiązania programowego uarta w C ale np oparte o jakiś timer i przerwanie zewnętrzne - dzięki czemu tej wady nie będzie

lecz nie nastawiaj się w przypadku soft uarta na jakieś rewelacyjne możliwości - czasem lepiej jednak rozważyć procek który ma jednak dwa UARTy ... a wystarczy sięgnąć chociaż po ATmega88 i już dzięki dodatkowej możliwości modułu SPI można mieć drugi UART i to sprzętowy - polecam także takie podejście.

_________________
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: 27 mar 2013, o 14:43 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Ok. Dziękuję za odpowiedź. Chodzi mi tylko, żeby odczytaną wartość ADC przesłać do PC. Myślę, że software uart spokojnie do tego będzie wystarczał. Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 15:13 
Offline
Moderator
Avatar użytkownika

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

Tak jeśli nic innego nie musi się dziać w tle w trakcie wysyłki to ten soft uarcik będzie działał ci ładnie

_________________
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: 27 mar 2013, o 15:44 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Tylko z tego co tu widzę, to trzeba jakoś tego assemblera z C połączyć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 15:54 
Offline
Moderator
Avatar użytkownika

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

wystarczy wgrać wszystkie pliki do folderu projektu, załączyć odpowiednie pliki nagłówkowe *.h tak jak w przykładowym programie zawierającym main() .... Bo tego konkretnego pliku przecież nie użyjesz - i wszystko się ładnie skompiluje. Nie wymaga to żadnych dodatkowych dziwnych czynności. Pliki z rozszerzeniem *.S będą normalnie kompilowane jak pliki źródłowe *.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: 28 mar 2013, o 13:40 
Offline
Użytkownik

Dołączył(a): 16 mar 2013
Posty: 157
Pomógł: 6

Dzięki za pomoc. Wszystko ładnie śmiga. Teraz chce się jeszcze zabrać za możliwość działania innych przerwań w tle.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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