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



Teraz jest 27 lut 2025, o 11:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 6 lut 2015, o 15:32 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

Dzień dobry wszystkim.

Mój poziom irytacji sięgnął zenitu przy konfiguracji swojego projektu stacji pogodowej.
Otóż wszystko działa idealnie po konwerterze USB FT232 i dane z czjników są przesyłane przez uart odczytuje na terminalu. To sobie pomyślalem hmmm super by było wysyłać to po bluetooth. Jak pomyślałem tak zrobiłem. Zakupiłem tani hc-05 i poprawnie go podłączyłem!. . NO i sypie mi śmieciami :( Zauważyłem że jest to wina biblioteki. Gdyż korzystając z tego programu :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wyświetla mi elegancko na terminalu y = 0.3187x^2 + 2x - 7. Dlaczego nie mogę korzystać z biblioteki UART p. Mirka z płyty DVD? Proszę mnie wyprowadzić z błędu jeśli się mylę, ale sądziłem że jak po konwerterze mi działa program po kabelku to po BT też będzie super. Ten program wyżej niestety jest dla mnie bezużyteczny gdyż potrzebuję takich funkcji jak uart_puts (to wyświetlanie string) uart_putint ( a to inta)
Ahhh i dodam ze UART_BAUD mam 9600 w każdej bibliotece i na terminalu tak ustawione.

_________________
Bluebooki greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:04 
Offline
Moderator
Avatar użytkownika

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

rav88pl napisał(a):
Dlaczego nie mogę korzystać z biblioteki UART p. Mirka z płyty DVD?

No ja też się zastanawiam dlaczego nie możesz korzystać ? dziwne pytanie - inni mogą korzystać a ty nie ?

_________________
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: 6 lut 2015, o 16:09 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

No właśnie wgrywam ją na procesor i sypie mi na terminalu dziwnymi znakami. Oczywiście przy kablowym połączeniu jest ok. Probowalem jeszcze wielu innych bibliotek popularnych z internetu. Każda oczywiście na kablu działa a na BT nie. Jedynie ta którą wkleiłem przy wyczytaniu łańcuchu znaków działa

_________________
Bluebooki greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:18 
Offline
Moderator
Avatar użytkownika

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

rav88pl napisał(a):
Jedynie ta którą wkleiłem przy wyczytaniu łańcuchu znaków działa

no to jak ci ta działa to w czym problem ?

_________________
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: 6 lut 2015, o 16:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 447
Lokalizacja: DKL
Pomógł: 53

@rav88pl, domyśle parametry pracy modułu HC-05 to 38400 8,n,1. Rozumiem, że ustawiłeś w module także prędkość 9600?

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:27 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

Tak, sterując komendami AT prędkość 9600. Jak mówię działa mi na tamtej bibliotece co wkleiłem , ale nie chce jej gdyż wolę standardową w której mogę używać uart_puts string i int. mam dużo pomiarów z czujników w postaci intów i chcę to wyświetlić.

Zmieniałem różne prędkości różne kombinacje. Czy to powinno działać bez problemu bez zmian kodu przy przejściu z konwertera na bluetooth?

_________________
Bluebooki greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Nie jestem pewny ale biblioteki z BB są na AT32
i na AT8 chyba trzeba będzie je przystosować (przeportować).

Tylko pewności nie mam , ja cały czas uczę się na AT32 :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 447
Lokalizacja: DKL
Pomógł: 53

@rav88pl, a jakie źródło i prędkość taktowania uC używasz?

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A zmieniłeś baudrate w bibliotece pana Mirka również na 9600? Zobacz na stronie nr294 w blue booku.
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: 6 lut 2015, o 16:47 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

tak jest. boudrate się zgadza. taktowanie wewnętrznym źródłem domyślnie
Obrazek

_________________
Bluebooki greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A czemu masz 1000000, a nie 8000000? Rozumiem, że masz procesor ATmega16?

------------------------ [ Dodano po: kilkunastu sekundach ]

Jak masz ustawione w nim fusebity?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 16:58 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

Tak AT16 . przy zmianie w okienku ze zdjęcia na 8000000 dalej krzaki

_________________
Bluebooki greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 17:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A masz mkAVR Calculator?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 17:02 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

w fusebitach nic nie grzebałem jeśli mam być szczery . ustawienia fabryczne

------------------------ [ Dodano po: kilkunastu sekundach ]

mam mkAVR calkulator ale w wersji dla atmega8 tylko. Któryś tam update wgrałem i nie mam full

_________________
Bluebooki greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 17:05 
Offline
Moderator
Avatar użytkownika

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

rav88pl napisał(a):
w fusebitach nic nie grzebałem jeśli mam być szczery . ustawienia fabryczne



No i tu jest pies pogrzebany - tzn z tego co piszesz - widać że w ogóle nie czytasz książki - nie czytasz jak działa biblioteka, próbujesz ot tak ją z marszu użyć bez minimum zrozumienia .... gdybyś przeczytał to nie napisał byś tego zdania wyżej ... dlatego że w książce WYRAŹNIE piszę o zależności transmisji UART od fusebitó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: 6 lut 2015, o 17:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 447
Lokalizacja: DKL
Pomógł: 53

No i przy wewnętrznym taktowaniu, kłania się kalibracja oscylatora, za pomocą rejestru OSCCAL. O tym też mowa w BB.

Edit, przy czym ma to sens tylko dla np. 8MHz, bo na 1MHz to są spore błędy w transmisji. W MkAvrCalc masz fajne narzędzie do sprawdzania błędów transmisji UART w zależności od taktowania uC.

Obrazek


Autor postu otrzymał pochwałę

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Ostatnio edytowano 6 lut 2015, o 17:20 przez matw, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 17:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

W ksążce na str. 277 masz opisane o dopuszczalnych błędach dla transmisji UART. Twój mikrokontroler jest taktowany 1MHz, ustawiłeś baudrate 9600, przy tych ustawieniach błąd wynosi 7% (zaznaczyłem na czerwono), a musi być maksymalnie 2%. Pewnie dlatego Ci nie działa. Zobacz:
Obrazek
Są dwa wyjścia z tej sytuacji. Albo zmienisz prędkość na 4800 i będziesz miał błąd 0.2% (zaznaczyłem na zielono), albo zmienisz taktowanie procesora na 8MHz i wtedy też będzie błąd tylko 0.2%.
http://www.atmel.com/images/doc2466.pdf (strona 170).
Wydaje mi się, że warto abyś przeczytał ten rozdział o Komunikacji RS232/RS485 w blue booku. Tam jest wszystko pięknie wytłumaczone.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2015, o 20:54 
Offline
Nowy

Dołączył(a): 03 cze 2014
Posty: 7
Pomógł: 0

pomogło zmianę na AT+UART=4800,0,0 dziękuję !

_________________
Bluebooki greenbook



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

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Nie jest to najlepsze rozwiązanie, bo wolno będą Ci się przysyłać te dane. Docelowo spróbuj zmienić taktowanie tej atmegi na 8MHz i będziesz mógł wtedy ustawić sobie nawet 38400 przy 0.2% błędu. A będzie to działało znacznie szybciej. :D



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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