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



Teraz jest 21 paź 2018, o 13:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 41 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 9 paź 2018, o 22:29 
Offline
Moderator
Avatar użytkownika

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

djg ... kolejny raz wielkie dzięki i aż się dziwię, że nawet nie zgłosiła się do takich testów pełna tzn oczekiwana liczba patronów - 20 osób ... a widać, że wystarczy troszkę czasu poświęcić - fajne pomysły - niby proste testy - ale tak na prawdę mega przydatne bo jeden człowiek nie jest nieraz w stanie przetestować nawet 50% takich przypadków.

_________________
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: 10 paź 2018, o 14:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 743
Lokalizacja: pod Warszawą
Pomógł: 54

djg napisał(a):
pierwszy parametr wskazuje, którego uarta użyć. Zmiana parametru na nieobecny uart np. dla ATMega32 1, 2 lub 3 nie powoduje błędu kompilacji. Nie wiem, czy to błąd, czy nie :-) Tak jest i już. Oczywiście, nic nie jest wysyłane do terminala :-)
Pozdrawiam,
Jarek

Też to zauważyłem, ale uznałem, że to nie jest błąd chociaż jeżeli w pliku mk_multi_uart.h biblioteka rozpoznaje ilość uart-ów w zastosowanym procku to raczej powinna to sygnalizować również w main.c jako błąd... :?: :roll:

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 paź 2018, o 14:43 
Offline
Użytkownik

Dołączył(a): 02 maja 2013
Posty: 101
Pomógł: 0

Spędziłem ostatnio kolejną chwilę nad testowaną biblioteką. W sumie trudno już o jakiekolwiek nowe testy związane z konfiguracją biblioteki, gdyż bardzo dużo z nich zostało już przeprowadzone, tak więc skupiłem się na różnych połączeniach komunikacyjnych 1:1 między różnymi mikrokontrolerami, i komputerem. Do akcji weszły Atmega8, Atmega88, Atmega16, Atmega32, Atmega64, STM32F103R8T6 (aczkolwiek do niego nie wgrywałem biblioteki pełnił jedynie funkcję przekaźnika :) ) i terminal komputera. Wykorzystywałem łącza RS232 i RS485.

Testy które przeprowadzałem polegały na łączeniu ze sobą różnych mikrokontrolerów, za pomocą różnych łączy i sprawdzaniu, dla różnych konfiguracji poprawności transmisji między poszczególnymi prockami. Całość działała bez zarzutów. Przekopiowanie programu z jednego mikrokontrlera do innego w wielu przypadkach wystarczało do poprawnego działania, ewentualnie lekkie przeportowanie, konfiguracja i już wszystko chodziło. Biblioteka bez problemu radziła sobie z obsługą jednego lub dwóch uartów, ładnie zgłaszała błędy gdy próbowałem odwoływać się do nieistniejacego w danym mikrokontrolerze uartu. Jednym z ostatnich testów było zrobienie ciekawego łącza, mianowicie:
Terminal->przejściówka RS232->(UART0)Atmega64(UART1)->STM32F106->Atmega8
Taki mały tasiemiec, ale wszystko ładnie chodziło i transmisja bez problemu chodziła od jednego końca do drugiego, także wszystko generalnie w porządku :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 paź 2018, o 15:20 
Offline
Moderator
Avatar użytkownika

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

mczarny napisał(a):
Też to zauważyłem, ale uznałem, że to nie jest błąd chociaż jeżeli w pliku mk_multi_uart.h biblioteka rozpoznaje ilość uart-ów w zastosowanym procku to raczej powinna to sygnalizować również w main.c jako błąd...

Tak panowie - tego już nie rozwiązywałem bo wręcz jest to nie do rozwiązania ;) żeby zgłaszał się jakiś błąd albo trzeba byłoby robić jakieś karkołomne #define'y ;) itp Poza tym #definem nie da się nawet sprawdzić jaki kto przekazuje numerek portu szczególnie jak będzie to w postaci jakiejś zmiennej ;)

Ważne, że jeśli ktoś przypadkowo dla m32 wpisze numerek portu np 1 albo i 4 to nie spowoduje to crasch'u biblioteki i programu, tylko po prostu nie będzie to działać i tak zdaje się to teraz właśnie jest

------------------------ [ Dodano po: 1 minucie ]

slawus1998 napisał(a):
Terminal->przejściówka RS232->(UART0)Atmega64(UART1)->STM32F106->Atmega8
Taki mały tasiemiec, ale wszystko ładnie chodziło i transmisja bez problemu chodziła od jednego końca do drugiego, także wszystko generalnie w porządku


No przepiękny TASIEMIEC! ;) wielkie dzięki za każdy nawet najdrobniejszy test - a już w szczególności za takie łami-transmisje ;)

_________________
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: 12 paź 2018, o 22:35 
Offline
Użytkownik

Dołączył(a): 20 wrz 2015
Posty: 39
Pomógł: 0

Witam wszystkich :D
Udało mi się w końcu przetestować tą bibliotekę i jestem w szoku śmiga :D
Testowałem ją na Atmega m32, m644 i m88 na zestawie ATB oraz Atmega 2560 na płytce arduino MEGA wszystko działa bez żadnych problemów podłączałem je ze sobą i do PC.
Usiłowałem do jednego procka wysłać na dwa uarty dane jednocześnie w nadziei że coś się zatnie lub wykrzaczy ale biblioteka jest nieugięta :D :D
Testowałem tylko po uarcie mam zamiar testować jeszcze z RS485
Będę testował dalej :D

Mirku Gratulacje za stworzenie kolejnej biblioteki ułatwiającej nam życie!!! :D

Pozdrawiam wszystkich!!! :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 paź 2018, o 15:52 
Offline
Moderator
Avatar użytkownika

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

dzieki za kolejny fajny test na tylu prockach!

_________________
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: 14 paź 2018, o 21:19 
Offline
Użytkownik
Avatar użytkownika

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

Witam
W końcu udało mi się wygospodarować czas by "pobawić się" biblioteczką. Działa bardzo fajnie, konfiguracja prosta i intuicyjna.
Testy przeprowadzałem na razie na zestawie ATBv1.05a z prockiem m32. Łączność uC<=>PC w konfiguracji 8n1 oraz ta nowsza poprawiona biblioteka.
Testy różnych prędkości od 600 do 250K przy taktowaniu procesora 1M i 8M na wewnętrznym oscylu, oraz 8M i 11,0592M kwarc.
Wszystko działa prawie dobrze.
Co do tego prawie to zauważyłem problem przy niektórych kombinacjach taktowania procka i prędkości baud np przy kwarcu 11,0592 i wybranej prędkości 2400 - transmisja nie działa poprawnie.
Szukając przyczyny wyrzuciłem na LCD wartość wyliczonego UBRR oraz zawartości rejestrów UBRRH i UBRRL po inicjacji uarta i wygląda na to że problem występuje gdy wartość wyliczonego UBRR przekracza wielkość bajtu, jak dla 11,0592/2400 wartość UBRR wynosi 287. Wartość samego UBRR wyliczana jest prawidłowo jednakże zapisuje się tylko do rejestru UBRRL, czyli UBRRL wynosi 31, natomiast UBRRH ma wartość 0 a w tym wypadku powinna mieć 1. Tak samo jest przy innych prędkościach i kombinacjach bitu U2X w których UBRR przekracza wartość 255, np 8M/2400 z załączonym bitem U2X UBRR wyliczone wynosi 416, a w rejestrach są wartości UBRRL=160, UBRRH=0! (a tu powinno być 1), albo dla 11,0592/2400/U2X=1 UBRR=575, w rejestrach są wartości UBRRL=63, UBRRH=0 a powinno być 2.
A tak na marginesie analizowanie działania mirkowej biblioteki stanowi świetną naukę w tworzeniu bibliotek :D
To na razie tyle z moich obserwacji. W wolnej chwili potestuje inne konfiguracje.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 paź 2018, o 16:04 
Offline
Moderator
Avatar użytkownika

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

O! bardzo cenne uwagi z tymi prędkościami - muszę sprawdzić i dam znać ale to dopiero w następnym tygodniu. Cieszę się również, że biblioteka może się przydać do wspomagania nauki 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: 19 paź 2018, o 12:59 
Offline
Użytkownik

Dołączył(a): 19 paź 2014
Posty: 348
Lokalizacja: stolyca pyrlandii :)
Pomógł: 18

Wczoraj chciałem wrzucić info o testach na Arduino Mega 2560, ale ubiegł mnie kolega @michael.873 - u mnie również działa bezproblemowo.
Teraz kombinuje z RS485, jednak nie mogę nigdzie znaleźć informacji jak uruchomić transmisję adresowalną ( czyli kilka urządzeń w jednej sieci).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 paź 2018, o 13:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1417
Pomógł: 158

karolen napisał(a):
jednak nie mogę nigdzie znaleźć informacji jak uruchomić transmisję adresowalną
Standard RS485 nie określa protokołu, tylko standard fizyczny interface. Dlatego musisz zaimplementować sobie jakiś z typowych protokołów np. MODBUS lub zrobić jakiś prosty własny.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 paź 2018, o 19:36 
Offline
Moderator
Avatar użytkownika

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

rskup napisał(a):
karolen napisał(a):
jednak nie mogę nigdzie znaleźć informacji jak uruchomić transmisję adresowalną
Standard RS485 nie określa protokołu, tylko standard fizyczny interface. Dlatego musisz zaimplementować sobie jakiś z typowych protokołów np. MODBUS lub zrobić jakiś prosty własny.

--
Pozdrawiam,
Robert


Dokładnie jak pisze rskup - biblioteka zapewnia ślicznie sterowanie liniami kierunku scalkaów MAX485 ... zaś adresowanie to już kwestia twojeggo własnego pomysłu na komunikację albo .... albo skorzystanie z gotowego protokołu jak Modbus czy inne

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 41 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Wojtek Apel 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO