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



Teraz jest 30 mar 2026, o 20:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 20 gru 2015, o 21:40 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Witam :)

Ostatnio wpadł mi w ręce moduł bluetooth audio oparty na OVC3860. Po podpięciu zasilania 5V pięknie paruje się z telefonem i gra jak należy. Wg. noty katalogowej moduł współpracuje przez uart i komendy AT.
http://www.electrodragon.com/w/images/4 ... 0_List.pdf

Mój problem polega na tym, że to przesyłanie komend AT za bardzo mi nie wychodzi. Czy ktoś z was ma może doświadczenie z tym modułem albo moglibyście mi wskazać co robię źle na podstawie kodu?
uC to ATmega 328P, a biblioteki uart zaczerpnięte od Mirka:
pdf od modułu podaje, że domyślny baudrate to 115200 i dla niego obliczyłem ubr, który wyszedł 7,6\
RX uC > Tx ovc
RX ovc > Tx uC
masy układów połączone

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


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

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


z góry dziękuję za wskazanie co robię źle :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2015, o 23:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Nie znam tematu, ale kolegów którzy ew. by pomogli takie:
jacky_cy napisał(a):
Mój problem polega na tym, że to przesyłanie komend AT za bardzo mi nie wychodzi.

zmusza do domysłów a zniechęca (chyba) do pomocy.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 00:26 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Chodzi mi o pomoc w naprowadzeniu czy robię coś nie tak w wysyłaniu tych 2 przykładowych komend AT ponieważ nie ma żadnej reakcji ze strony tego modułu (próbowałem z komendą mute i przejście do następnego utworu). Szperałem trochę w sieci i znalazłem przykłady użycia tego modułu z arduino. Na podstawie ich kodów widziałem, że sprawa jest teoretycznie bardzo prosta. Inicjalizacja uart dla baudrate 115200 i dalej wysyłanie stringa przez uart z wybraną komendą.

Przepraszam za niejasne opisanie problemu i bardzo proszę Was o naprowadzenie co mogę robić nie tak :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 14:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Może na końcu brak entera?


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 16:13 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

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

Dodałem znak entera w stringu i nic nie pomogło dalej brak reakcji. Z resztą w przykładnie z arduino jaki znalazłem też była wysyłana tylko komenda AT, bez znaku entera.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Bo rozumiem że na podstawie kodu wysyłam stringa prawidłowo? Z góry dzięki za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 17:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Co na to terminal? Puszczałeś ten kod na niego? To by rozwiało wątpliwości.


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 18:18 
Offline
Użytkownik

Dołączył(a): 25 sty 2014
Posty: 185
Lokalizacja: Działoszyn
Zbananowany użytkownik

Pomógł: 8

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

Dodałem znak entera w stringu i nic nie pomogło dalej brak reakcji. Z resztą w przykładnie z arduino jaki znalazłem też była wysyłana tylko komenda AT, bez znaku entera.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Bo rozumiem że na podstawie kodu wysyłam stringa prawidłowo? Z góry dzięki za pomoc.

a nie mozesz tego wysłać najpierw na zwykły terminal i zobaczyć co nadleciało czy nie ma jakiś krzaków ??


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 18:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Ja bym to wysłał np. tak:

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


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 20:26 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Obecnie nie posiadam przejściówki, a nie mam portu szeregowego w kompie. Także tu jest problem, ale połączyłem uC > uC + wyświetlacz. Skorzystałem z biblotek wziętych żywcem z greenbooka i zawartych tam funkcji int uart_getc(void), char * uart_get_str(char * buf) oraz przerwania odbiorczego.

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


Niestety, na wyświetlaczu nic się nie pojawia. Dodam tylko że wysyłanie pojedynczego znaku działa! Stąd też moje zmieszanie czy robię wszystko ok przy wysyłaniu stringa.

Tomson wysyłając Twoim sposobem też brak reakcji na module. Zastawiałem się nad tym czy mam dobrze zainicjalizowany uart to komunikacji z tym modułem, no ale w datasheet jak byk napisane, ze deafult baundrate to 115200. Ramka 8 bitów i jeden bit stopu to mój domysł ale chyba to nie jest problem?



Ostatnio edytowano 21 gru 2015, o 21:43 przez jacky_cy, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 21:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

To co przedstawiłeś powyżej. Na pewno nic nie wyświetli na lcd.
To wszystko co jest w pętli while??

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


Edit: Spróbuj użyć mniejszej prędkość np: 1200 przy połaczeniu uc->uc Tak dla testu.
Edit2: Może masz podział częstotliwości przez 8 w bitach konfiguracji uC.


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 21:49 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Zakomentowanie to oczywiście błąd przy kopiowaniu. Podział przez 8 na pewno odhaczony. Dostęp do drugiej płytki będę miał jutro rano więc spróbuję uC>uC z mniejszą prędkością jak radzisz. Dam znać... dzięki.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 22:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

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


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


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


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 11:09 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Testowo dałem prędkość 1200 (UBR = 832). Niestety na wyświetlaczu puszczony string się nie wyświetla. Fusebity w obu prockach takie same (tzn. zaznaczone SPIEN, EESAVE, BOOTSZ0 i BOOTSZ1)

Gwoli ścisłości wrzucam kody transmitera i recievera. Biblioteki uart z greenbooka. Funkcja init_uart taka sama w obu przypadkach:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


Z góry dzięki za wyhaczenie babola :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 20:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Masz inny uart_init ale to zapewne w związku z użytym procesorem. Nie mogę tego sprawdzić.

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



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


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 22:24 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Przerzuciłem funkcję display_string nad maina. Niestety dalej nic...

Muszę załatwić sobie przejściówkę i powysyłać na terminal. Może wtedy się okaże czy wysyłanie stringa rzeczywiście dziala. Dam znać w każdym razie :)

No chyba że ktoś z Was w międzyczasie da jakąś wskazówkę co mogę robić nie tak to będę wdzięczny!



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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