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



Teraz jest 4 lip 2026, o 05:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 5 lis 2016, o 08:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Witam.

Łączę się modułem bluetooth z Atmegą po UART, ale coś nie działa.
Czy ten kod ma prawo zadziałać?

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



Ostatnio edytowano 5 lis 2016, o 14:15 przez matej1410, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 12:05 
Offline
Użytkownik
Avatar użytkownika

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

Witam
matej1410 napisał(a):
...ale coś nie działa.

:)

Może na początek spróbuj zamienić kolejność - najpierw #include a potem #define

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 13:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

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


Wywal fosc i prawidłowo zdefiniuj w projekcie F_CPU. Nie w kodzie, tylko we właściwościach projektu.

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 13:08 
Offline
Moderator
Avatar użytkownika

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

Panowie, jeśli nie do nowszej wersji Bluebooka to przynajmniej TU warto zajrzeć

http://mirekk36.blogspot.com/2013/01/rs ... trick.html

żeby się dowiedzieć jak obliczać UBRR .... zamiast tego kociego wzoru który podajecie wyżej - a z którym mogą być problemy niestety przy niektórych standardowych częstotliwościach taktowania procka

_________________
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 lis 2016, o 13:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Nie pomogło. Zastanawiam się bardziej nad tym czy zmienna jest odpowiedniego typu...

Obrazek

Wysyłam bajta smartfonem poprzez aplikację App Inventor w takiej postaci jak wyżej.

Zmieniłem wzór zgodnie z sugestiami Mirka oraz sq5rix



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 13:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Zanim wyślesz bajt ze smartfona, połącz się po kablu przez przejściówkę do terminala na kompie i sprawdź czy to w ogóle działa. Albo przez BT i terminal jak nie masz przejściówki.

Mirek oczywiście ma rację, wzór jest w BB, na blogu i w conajmniej jednym poradniku YouTube

F_CPU nie powinno byc definiowane w kodzie, tylko we właściwościach projektu. W czym to kompilujesz?

_________________
--... ...-- - --- -- . -.-



Ostatnio edytowano 5 lis 2016, o 13:55 przez sq5rix, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 13:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Na terminalu wszystko ładnie się wyświetla. Eclipse.
Obrazek



Ostatnio edytowano 5 lis 2016, o 14:00 przez matej1410, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 13:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

A to super czyli kod na atmedze działa. Odbiór też?
No teraz app Investor, bardzo mi się on zresztą podoba.
Masz link do tej apki, żeby można było obejrzeć?

Przeczytaj ten poradnik, cześć o apce na telefonie:
http://appinventor.pevest.com/?p=718
Trochę bardziej to skomplikowane.
Ten tez fajny - podstawy
http://appinventor.pevest.com/?p=520

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 14:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

matej1410 napisał(a):
Na terminalu wszystko ładnie się wyświetla. Eclipse.
Obrazek

Wywal z kodu to F_CPU zatem :)

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 14:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

tu jest apka do pobrania: https://megawrzuta.pl/download/27b5b6f6 ... 655a2.html
Po naciśnięciu Pushbuttona wysyłam znak przez UART.

------------------------ [ Dodano po: 32 minutach ]

Problem tkwi w tym, że nie wiem jak obrobić tą zmienną. Tzn, przychodzi ona z modułu jako ASCII no i zapisywana jest jako char w mikrokontrolerze, ale dalej jest ASCII. Czy dobrze rozumuję? Czyli trzeba ją przekonwertować z ASCII na np. inta i wtedy sprawdzać warunki rózne sobie w programie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 14:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Chyba nie jest tak. Ta funkcja wysyła bajt binarnie. Niby to samo, ale albo jest transmisja binarna albo ASCII. Jak sprawdzasz po kablu, masz ASCII.

Jesli chodzi konwersję, to nie potrzeby. Warunki możesz sprawdzać z char tak samo jak z int, typu
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: 5 lis 2016, o 15:19 
Offline
Moderator
Avatar użytkownika

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

matej1410 napisał(a):
Problem tkwi w tym, że nie wiem jak obrobić tą zmienną.

To zaglądaj częściej do poradników na moim blogu

http://mirekk36.blogspot.com/2014/06/ja ... ascii.html


Autor postu otrzymał pochwałę

_________________
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 lis 2016, o 15:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Ja bym frobił po prostu tak
Fajna Apka :)
Obrazek

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 17:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

No nie działa dalej :) Wysyłam znak 'a' sprawdzam w programie: jeśli 'a' to wykonaj operację i dalej nic.
Obejrzałem poradnik. Czyli jest tak, że transmisja odbywa się tak, że w rezultacie po stronie odbiornika w zmiennej UDR czy też data tak jak w kodzie ode mnie kilka wpisów wyżej znajdzie się znak zapisany w kodzie ASCII, który został nadany?
Co więcej przy testowaniu transmisji poprzez terminal mam w nim ustawiony BAUD na 2400, podobnie w kodzie w eclipse. Procesor taktowany jest z oscylatora wew. z częstotliwością 2 000 000 Hz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 19:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

A w telefonie jak?

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Chodzi o BAUD w telefonie, tak?
Jeśli tak to nie widzę tu możliwości edycji takiego parametru.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 21:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Musi być inaczej za Chiny Ludowe nie zadziała.

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 22:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

No ale wysyłam z telefonu poprzez moduł bluetooth docelowo do terminala. W terminalu baud jest ustawiony na 2400 i poprawnie odbiera.
W eclipsie BAUD ustawiam na 2400 więc powinno działać :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 22:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Racja
Prędkość jest między BT przy ATmedze.
Coś innego musi być....

Dołożyłbym taki kawałek sprawdzający czy klient BT działa poprawnie

Obrazek

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 22:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Oczywiście mogę dołożyć ale skoro transmisja działa bo terminal odbiera to czy warto modyfikować ten schemat blokowy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 22:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Ok, racja - czyli z telefonu odbiera terminal na PC. U mnie też!
A czy z terminala możesz wysłać do procesora po kablu i on odbiera?


Autor postu otrzymał pochwałę

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 22:58 
Offline
Użytkownik

Dołączył(a): 15 gru 2013
Posty: 213
Pomógł: 5

Witam.
Ja dopiero ten problem przerabiałem i też miałem problemy,ale w końcu zadziałało.W moim przypadku właśnie nie były dopasowane prędkości a sprawdziłem to w ten sposób że sparowałem ze sobą komórkę i bt.i najpierw sprawdziłem terminalem w mkAVRcalkulator no i na początku na terminalu wyskakiwały krzaczki dopiero po ustawieniu prędkości w dwie strony zaczęło poprawnie działać i wtedy wykorzystałem właśnie sprawdzanie warunków tak jak to wyżej pisaliście i nie trzeba nic przekonwenterować ,Dodam jeszcze że ja tym się bawiłem na medze32 ,bt atmela,8mhz kwarc i u mnie była prędkość 19200.
Teraz wszystkie światła gaszę w domu komórką 8-) a tu zaraz święta i choinki to dopiero będzie okazja się popisać :lol: .
Pozdrawiam


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2016, o 10:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

sq5rix napisał(a):
Ok, racja - czyli z telefonu odbiera terminal na PC. U mnie też!
A czy z terminala możesz wysłać do procesora po kablu i on odbiera?


Jak wysyłam napis z procesora do terminala to wszystko hula jak należy, natomiast odwrotnie nie ma żadnej reakcji.

------------------------ [ Dodano po: 2 minutach ]

ELEKTRON105 napisał(a):
Witam.
Ja dopiero ten problem przerabiałem i też miałem problemy,ale w końcu zadziałało.W moim przypadku właśnie nie były dopasowane prędkości a sprawdziłem to w ten sposób że sparowałem ze sobą komórkę i bt.i najpierw sprawdziłem terminalem w mkAVRcalkulator no i na początku na terminalu wyskakiwały krzaczki dopiero po ustawieniu prędkości w dwie strony zaczęło poprawnie działać i wtedy wykorzystałem właśnie sprawdzanie warunków tak jak to wyżej pisaliście i nie trzeba nic przekonwenterować ,Dodam jeszcze że ja tym się bawiłem na medze32 ,bt atmela,8mhz kwarc i u mnie była prędkość 19200.
Teraz wszystkie światła gaszę w domu komórką 8-) a tu zaraz święta i choinki to dopiero będzie okazja się popisać :lol: .
Pozdrawiam



Co do prędkości to w terminalu mam ustawione 2400 BAUD w programie również. Dodam jeszcze odnośnie modułu bluetooth, że nie wszystkie komendy działają... a pin 34 czyli EN jest cały czas zasilany 3.3V.

------------------------ [ Dodano po: 34 minutach ]

Drodzy koledzy zamykamy temat! Wstyd się przyznać co zrobiłem, ale dla potomnych zostawię to tu. Łączyłem się z procesorem taką oto drogą: Telefon ---> moduł BT----> konwerter stanów logicznych ---> MAX232 --->Atmega8, co jest kompletną głupotą, ale robiłem
to dlatego, że po prostu badałem łączność z terminalem na komputerze i z rozmachu łączyłem się z Atmegą poprzez MAX232.

Pozostaje jeszcze jedna kwestia. Dlaczego układ nie przyjmuje wszystkich komend tylko część.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2016, o 12:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

No tak bywa :)
Najważniejsze, że działa, teraz to juz kosmetyka.

_________________
--... ...-- - --- -- . -.-



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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