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



Teraz jest 7 kwi 2026, o 03:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 13 lut 2014, o 13:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 kwi 2013
Posty: 88
Pomógł: 1

Siemka, od trzech dni nie moge sie uporać z takim problemem. Sciągam sobie ten kod od Mirka:
http://mirekk36.blogspot.com/2013/05/te ... z-lcd.html
dodaje w main.c "#define __UBRR 1666" (SunRiver tak kazał, jak źle to sie nie czepiać :P)
A przy próbie skompilowania linker wypluwa mi to:
Kod:
   

    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega328p -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
    ../main.c: In function ‘main’:
    ../main.c:27:2: warning: implicit declaration of function ‘USART_Init’ [-Wimplicit-function-declaration]
    ../main.c:32:2: warning: implicit declaration of function ‘uart_puts’ [-Wimplicit-function-declaration]
    ../main.c:40:3: warning: implicit declaration of function ‘uart_getc’ [-Wimplicit-function-declaration]
    ../main.c: In function ‘show_counter’:
    ../main.c:125:3: warning: implicit declaration of function ‘uart_putint’ [-Wimplicit-function-declaration]
    Finished building: ../main.c
     
    Building target: TERMINAL.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,TERMINAL.map -mmcu=atmega328p -o "TERMINAL.elf"  ./MK_TERMINAL/mk_term.o  ./MKUART/mkuart.o  ./main.o 
    ./MK_TERMINAL/mk_term.o: In function `tr_cursor_hide':
    mk_term.c:(.text.tr_cursor_hide+0xe): undefined reference to `uart_puts_P'
    ./MK_TERMINAL/mk_term.o: In function `tr_cls':
    mk_term.c:(.text.tr_cls+0x8): undefined reference to `uart_puts_P'
    mk_term.c:(.text.tr_cls+0x16): undefined reference to `uart_puts_P'
    mk_term.c:(.text.tr_cls+0x20): undefined reference to `uart_puts_P'
    ./MK_TERMINAL/mk_term.o: In function `fill_line':
    mk_term.c:(.text.fill_line+0x1a): undefined reference to `uart_putc'
    ./MK_TERMINAL/mk_term.o: In function `tr_attr':
    mk_term.c:(.text.tr_attr+0x16): undefined reference to `uart_putc'
    mk_term.c:(.text.tr_attr+0x1e): undefined reference to `uart_putc'
    mk_term.c:(.text.tr_attr+0x28): undefined reference to `uart_putc'
    mk_term.c:(.text.tr_attr+0x30): undefined reference to `uart_putc'
    ./MK_TERMINAL/mk_term.o:mk_term.c:(.text.tr_attr+0x38): more undefined references to `uart_putc' follow
    ./MK_TERMINAL/mk_term.o: In function `tr_locate':
    mk_term.c:(.text.tr_locate+0x20): undefined reference to `uart_putint'
    mk_term.c:(.text.tr_locate+0x28): undefined reference to `uart_putc'
    mk_term.c:(.text.tr_locate+0x34): undefined reference to `uart_putint'
    mk_term.c:(.text.tr_locate+0x40): undefined reference to `uart_putc'
    ./main.o: In function `rysuj_menu':
    main.c:(.text.rysuj_menu+0x1c): undefined reference to `uart_puts'
    main.c:(.text.rysuj_menu+0x36): undefined reference to `uart_puts'
    main.c:(.text.rysuj_menu+0x46): undefined reference to `uart_puts'
    main.c:(.text.rysuj_menu+0x56): undefined reference to `uart_puts'
    main.c:(.text.rysuj_menu+0x70): undefined reference to `uart_puts'
    ./main.o:main.c:(.text.show_adc+0x1c): more undefined references to `uart_puts' follow
    ./main.o: In function `show_adc':
    main.c:(.text.show_adc+0x84): undefined reference to `uart_getc'
    ./main.o: In function `show_counter':
    main.c:(.text.show_counter+0x1c): undefined reference to `uart_puts'
    main.c:(.text.show_counter+0x56): undefined reference to `uart_puts'
    main.c:(.text.show_counter+0x70): undefined reference to `uart_puts'
    main.c:(.text.show_counter+0x86): undefined reference to `uart_putint'
    main.c:(.text.show_counter+0x8e): undefined reference to `uart_puts'
    main.c:(.text.show_counter+0xa0): undefined reference to `uart_puts'
    main.c:(.text.show_counter+0xb6): undefined reference to `uart_getc'
    ./main.o: In function `main':
    main.c:(.text.startup.main+0x4): undefined reference to `USART_Init'
    main.c:(.text.startup.main+0x14): undefined reference to `uart_puts'
    main.c:(.text.startup.main+0x2e): undefined reference to `uart_getc'
    main.c:(.text.startup.main+0x54): undefined reference to `uart_puts'
    collect2: error: ld returned 1 exit status
    make: *** [TERMINAL.elf] Błąd 1



Moge tylko dodać że jeżeli powodem mogą być sterowniki do konwertera rs-232 to będę musiał je przeinstalować. Zamiast D2XX od FTDI zainstalowałem wolne (w rozumieniu środowiska GNU :P) sterowniki libftdi z repozytoriów. System oczywiście linux.
A tak oprócz tego to inne programy kompilują się normalnie :(
Z góry dzięki za jakąkolwiek pomoc :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 13:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

A podegrałeś sobie funkcje do mkuart.c i mkuart.h z płyty z książki

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 14:24 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

moim skromnym zdaniem brakuje Ci inkluda do pliku nagłówkowego *.h
tego gdzie masz te wszystkie funkcje zadeklarowane...

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 14:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 kwi 2013
Posty: 88
Pomógł: 1

kurnachatka napisał(a):
A podegrałeś sobie funkcje do mkuart.c i mkuart.h z płyty z książki


Nie, mam tylko workspace z bloga

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 14:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

kacperu2 napisał(a):
Nie, mam tylko workspace z bloga

To za żyj do do plików co ci podałem.
Jest tam napisane że musisz je uzupełnić funkcjami z książki.
Dlatego ci wywala błędy bo ich nie znajduje.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 14:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 kwi 2013
Posty: 88
Pomógł: 1

Ehh... człowiek to ma chyba oczy w du*** :D
Wielkie dzięki, nie sprawdziłem tych plików :P

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 14:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Ja mam książkę jeszcze w miękkiej oprawie i u mnie znajdują się one w takiej lokalizacji:
Nazwa napędu CD ECLIPSE\workspace\07_UART\MKUART\mkuart.c i mkurat.h

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 22:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 kwi 2013
Posty: 88
Pomógł: 1

Dobra, dodałem te libsy i teraz dostaje to:
Kod:
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega328p -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
Finished building: ../main.c
 
Building target: TERMINAL.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,TERMINAL.map -mmcu=atmega328p -o "TERMINAL.elf"  ./MK_TERMINAL/mk_term.o  ./MKUART/mkuart.o  ./main.o   
./MK_TERMINAL/mk_term.o: In function `tr_cursor_hide':
mk_term.c:(.text.tr_cursor_hide+0x8): undefined reference to `uart_puts_P'
collect2: error: ld returned 1 exit status
make: *** [TERMINAL.elf] Błąd 1


pomysły?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2014, o 07:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

musisz do funkcji uart_puts_P dołożyć const

------------------------ [ Dodano po: 3 minutach ]

Jak w ogóle masz tą funkcje

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2014, o 09:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Prawdę mówiąc to już nie pamiętam z kąt ją mam bo na CD jej nie ma.
Ma ona taką postać
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie chcę jej tu umieszczać w całości, chyba że Mirek wyrazi na to zgodę. ;)

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2014, o 09:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

kacperu2: Czy oglądałeś poradnik???
Jeżeli tak to chyba nieuważnie.
Jest tam mowa o tej funkcji jak ją zrobić wykorzystując libsy z lcd hd44780 lub przepisując to co jest na filmiku. ;)
Oglądałem ten poradnik zaraz jak wyszedł, a nadal to pamiętam. ;)

_________________
Zapraszam:
filiporlo.blogspot.com



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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