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



Teraz jest 1 paź 2025, o 09:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 23 gru 2017, o 23:18 
Offline
Nowy

Dołączył(a): 28 sty 2017
Posty: 8
Pomógł: 0

Cześć! Ponieważ pod moim poprzednim postem nie było odpowiedzi, a trochę rzeczy już ustaliłem, postanowiłem stworzyć oddzielny temat. Tutaj już mój system operacyjny nie powinien mieć znaczenia.

UC jakiego używam to atmega 328p.

Co chce osiągnąć?
przesyłanie niewielkich danych z telefonu do mikrokontrolera w celu zdalnego sterowania wielokanalowego jakimś urządzeniem.

Co już mam?
sprawny hc-05
działający dwukierunkowy konwerter poziomów logicznych (3.3-5v)
Programator usbASP I eclipse z wtyczka
Bluetooth terminal i roboremo na smartfonie

Moduł hc-05 bez problemu paruje się i łączy z telefonem. Po zawarciu że sobą pinów rxd I txd odsyła wysłane dane do telefonu. W terminalu jako tekst, jak i w roboremo po ustawieniu dwóch suwakow z takim samym id - przesuwając jeden, przesuwa się też drugi.

W czym jest problem?
inicjalizacja w mikrokontrolerze. Powiedzmy, że chciałbym osiągnąć to samo co przy zawarciu rxd z txd, tylko przez UC
. Dalej już sobie poradzę. Niech mikrokontroler odbierze dane, zapisze w zmiennej i odeśle z powrotem.

O ile z ADC poradziłem sobie używając noty, o tyle z UART mam problem. Jakoś ciężko mi to idzie. Co ciekawe, w nocie są gotowe kody do inicjalizacji, wysłania i odbioru danych. Tylko po zrobieniu kopiuj-wklej kod nie chce się kompilowac.

Jak się domyślam, dla niektórych na tym forum będzie to kwestia pięciu minut. Chciałbym jakiegoś gotowca, żeby mieć bazę. Tylko inicjalizacja, wysłanie i odebranie danych. Wolałbym też póki co uniknąć przerwan, jeżeli taka możliwość istnieje.

Nie wiem też, czy mogę np wykorzystać poradniki dotyczące rs232 albo UART przez WiFi, czy jest jakaś różnica. Szkoda mi całego dnia oglądania poradników żeby sprawdzić, że rs 232 nie ma nic wspólnego z komunikacją przez hc-05.

Kod który mam teraz(nie kompiluje się)

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


Co zwraca kompilator:

Kod:
23:56:28 **** Incremental Build of configuration Release for project testy ****
make all
Building file: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
Invoking: AVR Compiler
avr-gcc -I/home/bartosz/projekty/avr/libs -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega328p -DF_CPU=1000000UL -MMD -MP -MF".metadata/.plugins/org.eclipse.cdt.make.core/specs.d" -MT".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" -c -o ".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" "../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c"
Finished building: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
 
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -I/home/bartosz/projekty/avr/libs -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega328p -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c"
../main.c: In function 'zero':
../main.c:16:2: warning: implicit declaration of function 'USART_Init' [-Wimplicit-function-declaration]
  USART_Init(MYUBRR);
  ^~~~~~~~~~
../main.c: At top level:
../main.c:18:6: warning: conflicting types for 'USART_Init'
 void USART_Init( unsigned int ubrr)
      ^~~~~~~~~~
../main.c:16:2: note: previous implicit declaration of 'USART_Init' was here
  USART_Init(MYUBRR);
  ^~~~~~~~~~
../main.c: In function 'USART_Init':
../main.c:21:2: error: 'UBRR0H' undeclared (first use in this function)
  UBRR0H |= (unsigned char)(ubrr>>8);
  ^~~~~~
../main.c:21:2: note: each undeclared identifier is reported only once for each function it appears in
../main.c:22:2: error: 'UBRR0L' undeclared (first use in this function)
  UBRR0L |= (unsigned char)ubrr;
  ^~~~~~
../main.c:24:2: error: 'UCSR0B' undeclared (first use in this function)
  UCSR0B |= (1<<RXEN0)|(1<<TXEN0);
  ^~~~~~
../main.c:24:16: error: 'RXEN0' undeclared (first use in this function)
  UCSR0B |= (1<<RXEN0)|(1<<TXEN0);
                ^~~~~
../main.c:24:27: error: 'TXEN0' undeclared (first use in this function)
  UCSR0B |= (1<<RXEN0)|(1<<TXEN0);
                           ^~~~~
../main.c:26:2: error: 'UCSR0C' undeclared (first use in this function)
  UCSR0C |= (1<<USBS0)|(1<<UCSZ00);
  ^~~~~~
../main.c:26:16: error: 'USBS0' undeclared (first use in this function)
  UCSR0C |= (1<<USBS0)|(1<<UCSZ00);
                ^~~~~
../main.c:26:27: error: 'UCSZ00' undeclared (first use in this function)
  UCSR0C |= (1<<USBS0)|(1<<UCSZ00);
                           ^~~~~~
make: *** [subdir.mk:20: main.o] Błąd 1

23:56:30 Build Finished (took 2s.199ms)



Ostatnio edytowano 23 gru 2017, o 23:58 przez bartoszp1992, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 gru 2017, o 02:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2017
Posty: 140
Pomógł: 6

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

daj nad wszystkim



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 gru 2017, o 11:48 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

No i jeszcze należałoby zmienić kolejność funkcji USART_Init() i zero():
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

lub alternatywnie dać deklarację funkcji USART_Init() przed funkcją zero():

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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

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