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



Teraz jest 15 sie 2018, o 07:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 9 sie 2018, o 09:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 82
Lokalizacja: Staszów
Pomógł: 3

Kłaniam się Kolegom,
Bawię się modemem m590, tak rozrywkowo, nic poważnego, bazując na interesująco napisanym artykule naszego Kolegi:
https://www.sunduino.pl/gsm-m590e-tanio-i-prosto/.
Gdy ten modem jest podpięty poprzez ATB-USB-RS232, komunikacja poprzez terminal (Putty) w obie strony jest bez zarzutu.

No to następnym krokiem było podpięcie pod mikrokontroler (Atmega128 z zestawu ATB Shield128), przy wykorzystaniu programowego UART,
bez zmian parametrów (ten sam baudrate, itd).

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


A mój problem polega na tym, że w odpowiedzi (na wyświetlaczu) nie dostaję tego co odpowiada modem, tylko to, co ja wysyłam komendami AT+.
Na pierwszy rzut oka to wygląda, że to Tx i Rx są na odwrót. Ale nie. Jest Tx z Rx i Rx z Tx.
I tego właśnie zachowanie nie rozumiem i proszę o wskazówki.
Czy te moje komendy idą do jakiegoś jednego bufora (poleceniem suart_puts()), który ja później odczytuję (poleceniem suart_gets())?
Czy to kompilator sobie to zachowuje w pamięci na stałe?
No nie wiem.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 09:54 
Online
Użytkownik
Avatar użytkownika

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

cześć
Czy masz możliwość podpięcia się ATB-RS232 do płytki?
Ja zawsze wyprowadzam sobie piny od uart-a i podpinam się z przejściówką oczywiście tylko pin Rx i masę.
Jak podepniesz się do Tx procka to w terminalu zobaczysz to co on wysyła, jak podepniesz się do Rx procka to zobaczysz co odpowiada moduł....
pozdrawiam


Autor postu otrzymał pochwałę

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 10:37 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 1506
Pomógł: 73

Dokładnie - to najszybszy sposób jeśli nie ma się pod ręką analizatora logicznego typu Saleae.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 13:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 82
Lokalizacja: Staszów
Pomógł: 3

mczarny napisał(a):
Jak podepniesz się do Tx procka to w terminalu zobaczysz to co on wysyła, jak podepniesz się do Rx procka to zobaczysz co odpowiada moduł....

Takie proste, a takie skuteczne. Dziękuję obu Kolegom.

Eksperyment:
Pin Tx mikrokontrolera do pinu Rx modemu M590.
Pin Tx modemu do pinu Rx ATB-USB-RS232.

Wynik jak poniżej w terminalu:
Obrazek

Były dwa błędy.
Pierwszy to ten, że powinno być tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

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


Drugi błąd to ten związany z poleceniem:
at+CSCS="GSM"
Tu pewnie trzeba znaki cudzysłowia "wewnętrznego" zastąpić jakimś znacznikiem.

Zobaczę, jak teraz pójdzie, bo tak od razu, na gorąco nie chce.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 14:11 
Online
Użytkownik
Avatar użytkownika

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

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

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 15:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 82
Lokalizacja: Staszów
Pomógł: 3

Oczywiście, jeśli ten GSM weźmie się między znacznik: \"GSM\" to wtedy ten drugi, wspomniany wyżej błąd, także znika.

Ale to nie rozwiązało problemu zasygnalizowanego na początku.
Bo nadal na wyświetlaczu LCD pokazuje mi moje wysyłane komendy. I tylko to.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 17:26 
Online
Użytkownik
Avatar użytkownika

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

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

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

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 17:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 82
Lokalizacja: Staszów
Pomógł: 3

Niestety, nie pomogło.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 18:12 
Online
Użytkownik
Avatar użytkownika

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

Masz jakoś ten bufor z funkcji odbiorczej zdefiniowany?
Z tego co widzę w funkcji "suartgets" powinna zwracać to co w buforze.

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2018, o 19:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 82
Lokalizacja: Staszów
Pomógł: 3

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


Reszta to biblioteka LCD oraz SoftUart kol. Mirka.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sie 2018, o 08:05 
Online
Użytkownik
Avatar użytkownika

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

cześć
próbowałeś odpalić odbiór w pętli głównej?
np:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

wiem, że to jest blokujące, ale nad tym można popracować - zrobić coś na wzór zdarzenia żeby nie blokować pętli

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sie 2018, o 19:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 82
Lokalizacja: Staszów
Pomógł: 3

Też nie zadziałało.
Widać problem jest o wiele bardziej złożony i wymaga głębszej wiedzy i dokładniejszej analizy noty katalogowej, a może i czegoś jeszcze.
Tym bardziej, że dodanie zwykłego _delay_ms() między wysłaniem komendy AT, a próbą odczytania odpowiedzi powoduje odmienne działanie programu.
Trzeba walkę na tym etapie zakończyć.

Kolega Mirek ładnie opisuje takie przypadki w YB (dla modemu Fibocom), ale to dla mnie jeszcze za wysokie progi.

Dziękuję za dotychczasową pomoc.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2018, o 08:53 
Online
Użytkownik
Avatar użytkownika

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

cześć
Ja bym się nie poddawał :)
Ponieważ wiesz jak przesłać do procesora cokolwiek za pomocą Putty odpal w pętli głównej takie coś -
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oczywiście wcześniej inicjalizacja Softuart i deklaracja bufora
i prześlij z terminala cokolwiek
Zobaczymy czy to co wyślesz wyświetli się na LCD.
Będziemy wiedzieli, że funkcja odbiorcza u Ciebie działa

_________________
Pomóżcie mi stanąć na nogi



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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