Forum elektroda.pl

Regulamin  | Punkty  | Dodaj...  | Ostatnie  | Szukaj  | Rejestracja  | Zaloguj

Ta strona używa cookie. Dowiedz się więcej o celu ich używania i zmianie ustawień cookie w przeglądarce.
Korzystając ze strony wyrażasz zgodę na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki.

[atmega16][c] HIDKeys, czyli problem z klawiaturą USB na AVR


Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> Mikrokontrolery Ogólne -> Mikrokontrolery AVR -> [atmega16][c] HIDKeys, czyli problem z klawiaturą USB na AVR
Autor
Wiadomość
patyk12343
Poziom 4
Poziom 4


Dołączył: 27 Lut 2010
Posty: 9

Post#1 Post autora tematu 10 Mar 2010 20:20   

[atmega16][c] HIDKeys, czyli problem z klawiaturą USB na AVR


Witam!

Po paru problemach przy odpaleniu atmegi16 postanowiłem zabrać się do stworzenia klawiatury USB na podstawie projektu ze strony http://www.obdev.at/products/vusb/hidkeys.html. Rozpakowałem, poczytałem trochę tych plików, wszystkie o rozszerzeniu .h wrzuciłem do /winavr/avr/include, podmieniłem Makefile na ten z moimi parametrami, ale podczas kompilacji pliku main.c wyskakuje mi błąd

Kod:
> "make.exe" all

-------- begin --------
avr-gcc (WinAVR 20090313) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Linking: main.elf
avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o  -std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-Map=main.map,--cref     -lm
main.o: In function `usbFunctionSetup':
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:233: undefined reference to `usbMsgPtr'
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:233: undefined reference to `usbMsgPtr'
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:240: undefined reference to `usbMsgPtr'
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:240: undefined reference to `usbMsgPtr'
main.o: In function `main':
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:261: undefined reference to `usbInit'
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:266: undefined reference to `usbPoll'
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:283: undefined reference to `usbTxLen1'
D:\avr\Nowy folder (9) - Kopia - Kopia/main.c:288: undefined reference to `usbSetInterrupt'
make.exe: *** [main.elf] Error 1

> Process Exit Code: 2
> Time Taken: 00:01


No i teraz pytania:

Czy wystarczy skompilować plik main.c?
Czy może trzeba jeszcze zrobić coś z plikami z usbdrv?
Co zrobić, żeby to zadziałało?

Z góry dziękuję za wszystkie odpowiedzi.
Powrót do góry
   
Google


Google Adsense


Post# 10 Mar 2010 20:20   





Powrót do góry
   
_Robak_
Poziom 22
Poziom 22


Dołączył: 16 Kwi 2006
Posty: 2246
Miasto: Bytom

Post#2 10 Mar 2010 20:32pomocny post - solucja   

Re: [atmega16][c] HIDKeys, czyli problem z klawiaturą USB na


Pliki .h nie dajesz do katalogu include;) Wrzucasz do katalogu z projektem i dołączasz w ten sposób
Kod:

#include "costam.h"

Natomiast pliki .C przeciągasz do plików projektu w avrstudio.
Widać że w mainie używasz funkcji których nie widzi kompilator po prostu.
Powrót do góry
   
Google


Google Adsense


Post# 10 Mar 2010 20:32pomocny post - solucja   





Powrót do góry
   
patyk12343
Poziom 4
Poziom 4


Dołączył: 27 Lut 2010
Posty: 9

Post#3 Post autora tematu 10 Mar 2010 20:51   

Re: [atmega16][c] HIDKeys, czyli problem z klawiaturą USB na


Dodałem wszystkie pliki .c do jednego projektu, lecz wyświetla mi się


Kod:
> "make.exe" all
make.exe: *** No rule to make target `all'.  Stop.

> Process Exit Code: 2
> Time Taken: 00:00


Szczerze powiedziawszy, to moje dotychczasowe projekty nie wykraczały poza jeden plik .c, stąd to zdezorientowanie...
Powrót do góry
   
Google


Google Adsense


Post# 10 Mar 2010 20:51   





Powrót do góry
   
_Robak_
Poziom 22
Poziom 22


Dołączył: 16 Kwi 2006
Posty: 2246
Miasto: Bytom

Post#4 10 Mar 2010 20:54pomocny post - solucja   

Re: [atmega16][c] HIDKeys, czyli problem z klawiaturą USB na


Najpierw zrób sobie prosty projekt, do niego dołącz jedną funkcję w innym pliku i poćwicz;) Ściągnij sobie z neta jakieś projekty, zobacz jak to wygląda. Zasada jest taka, includujesz tylko pliki h.
Powrót do góry
   
patyk12343
Poziom 4
Poziom 4


Dołączył: 27 Lut 2010
Posty: 9

Post#5 Post autora tematu 11 Mar 2010 17:01   

Re: [atmega16][c] HIDKeys, czyli problem z klawiaturą USB na


Tak więc udało mi się skompilować te wszystkie pliki. Plik Makefile edytowałem i zamiast
Kod:
SERIAL = `echo /dev/tty.KeySerial*`
UISP = uisp -dprog=avr910 -dserial=$(SERIAL) -dpart=auto

wstawiłem
Kod:
AVRDUDE_PROGRAMMER = usbasp
AVRDUDE_PORT = usb


i
Kod:
COMPILE = avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega8 #-DDEBUG_LEVEL=1

zamieniłem na

Kod:
COMPILE = avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega16 #-DDEBUG_LEVEL=1


Program wgrał się bez błędów. Po podłączeniu system wykrywa nowe urządzenie, lecz jest ono dla niego nieznane... Czy ktoś spotkał się z podobnym problemem i wie jak go rozwiązać?
Powrót do góry
   
Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> Mikrokontrolery Ogólne -> Mikrokontrolery AVR -> [atmega16][c] HIDKeys, czyli problem z klawiaturą USB na AVR
Strona 1 z 1



Administrator || Moderatorzy || Regulamin forum || Regulamin ogólny || Informacja o cookies || Reklama || Kontakt

Page generation time: 0.08 seconds

elektroda.pl temat RSS