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



Teraz jest 19 kwi 2024, o 19:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 13 sty 2022, o 00:47 
Offline
Użytkownik

Dołączył(a): 23 sie 2021
Posty: 30
Pomógł: 0

Witam wszystkich :)
Zakupiłem sobie bibliotkę MK_MULTIUART_20 i testuję ją sobie na Atmega128 i Atmega32. Obejrzałem filmiki instruktażowe.
Działa mi komunikacje w dwie strony, odbieram i wysyłam znaki itp. Testuje komunikację Atmega - laptop przez putty na win10. Biblioteką zakupioną nie modyfikowałem w żaden sposób poza ustawieniem prędkości transmisji.

Problem mam tylko z funkcją "parsuj itd"....Załączam kod programu. W funkcji "parsuj itd" umieściłem sobie tylko zgaszenie diody, którą zapalam przed main. Nie jestem w stanie w żaden sposób doprowadzić do wywołania parsuj (zgaszenia diody) przy próbach przesyłania czegoś przez putty.
Z tego co szperałem na forum to funkcja "parsuj itd" wszystkim działa tylko nie mi :)

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


Czy może mnie ktoś jakoś naprowadzić co robię źle?
Pozdrawiam
Piotr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2022, o 08:38 
Offline
Moderator
Avatar użytkownika

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

Najpierw zadam proste pytanie - bo wraz z biblioteką dostałeś najprostszy przykład plik main.c - sprawdzałeś go bez dodawania żadnego kawałka swojego kodu ? Oczywiście ten przykład w main.c wykorzystuje byle wyświetlacz LCD ale jak go nie masz to można zakomentować wszystkie linie związane z LCD a do funkcji parsuj oczywiście wstaw sobie miganie diodą, czyli w main inicjalizację lcd zastąp inicjalizacją JEDNEJ diody - nic więcej nie dodawaj i najpierw to sprawdź.

jeśli nie będzie działać to pokaż wtedy swój kod z pliku main.c ale ten MINIMALNY jak mówię a do tego pokaż z dwóch plików *.h jaką masz konfigurację UART'a

_________________
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 sty 2022, o 17:12 
Offline
Użytkownik

Dołączył(a): 23 sie 2021
Posty: 30
Pomógł: 0

Dzień dobry
Dziękuję bardzo kolejny raz Mirku za naprowadzenie mnie.
Ogólnie Twój kod oczywiście dział, mój też działał. Wyświetlacz miałem, sprawdziłem, wszystko chodziło.
Napiszę co nie działało, żeby inni wiedzieli, może się komuś przyda:

1)Nie wiem z jakiego powodu wbiłem sobie do głowy, że funkcja "parsuj" ma się wywoływać od razu po naciśnięciu jakiegokolwiek literki na w terminalu putty lub SSCOM. Tak jakby to była kopia komendy uart_getc(0). Jak zobaczyłem Twój kod jak użyłeś tego parsuj przykładowo, to od razu mi się rozjasniło. Wystarczyło naciśnąć ENTER....zamiast oczekiwać...teraz to wszystko jasne, ale czemu tak zrobiłem to nie mam pojęcia

2) Przy okazji miałem też ciekawy kłopot - mój moduł bluetooth podłączony do Atmega32 i skomunikowany z PC często nie mógł się położyć z putty za pierwszym razem po włączeniu komputera....Wywalało komunikat o błędzie portu. Okazało się to spowodowane, że atmega od włączenia wysyłała przez ten bluetooth co około 0.7s komunikat "Witam" i to zakłócało możliwość nawiązania połączenia za pierwszym razem od włączenia

Tak, że dziękuję bardzo, wszystko już działa.
Pozdrawiam
Piotr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2023, o 22:15 
Offline
Nowy

Dołączył(a): 06 sie 2017
Posty: 3
Pomógł: 0

Hejka
Jak wyżej oczywiście wiem, że należy kliknąć enter aby wywołać parser, lecz ja mam potrzebę wywołania zamiast (hex)0x0d na końcu ramki np 0xFF ponieważ ciąg danych z urządzenia do uC z którym się komunikuje nie generuje wymaganego 0x0d lecz jedno urządzenie 0xFF inne 0x03 etc. więc przesyłana paczka z urządzenia nie wygeneruje nam parsera.
Tym samym moje pytanie, czy jest gdzieś konfigurowalny znak końca ramki, który wywoła parser?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2023, o 23:12 
Offline
Moderator
Avatar użytkownika

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

polskiprogramista napisał(a):
Hejka
Jak wyżej oczywiście wiem, że należy kliknąć enter aby wywołać parser, lecz ja mam potrzebę wywołania zamiast (hex)0x0d na końcu ramki np 0xFF ponieważ ciąg danych z urządzenia do uC z którym się komunikuje nie generuje wymaganego 0x0d lecz jedno urządzenie 0xFF inne 0x03 etc. więc przesyłana paczka z urządzenia nie wygeneruje nam parsera.
Tym samym moje pytanie, czy jest gdzieś konfigurowalny znak końca ramki, który wywoła parser?


Na przyszłość proszę zakładaj NOWY WĄTEK a nie dopisuj się pod jakimś starym - jaki to ma sens? W ten sposób po co forum ? ;) Wszyscy pisaliby w jednym wielkim wątku. OK?

Nie pamiętam ale chyba nie jest to konfigurowalne - musiałbyś sobie bibliotekę przerobić co nieco

_________________
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 lis 2023, o 10:35 
Offline
Nowy

Dołączył(a): 06 sie 2017
Posty: 3
Pomógł: 0

Ok przepraszam, po nocce spędzonej na Twoich tutorialach na temat bibliotek zamówię wersję 2.0
Pozdraiwam



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników 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