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



Teraz jest 18 lut 2026, o 08:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 4 gru 2015, o 11:59 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Witam.

Dla starych wyjadaczy to pewnie "pestka", niemniej dla mnie jest to powód do frustracji. Wczytałem sobie do Eclipsa_Marsa Projekt pod nazwą "MK_terminal" i zgodnie z zaleceniem wgrałem biblioteki MKUART z blubuka (przepraszam za brak poprawności w nazwach) i zonk wyświetla błędy. Pomyślałem, że może biblioteki i grinbuka, ale nie również błędy. Dobrze, że AUTOR zechciał zmusić nas do minimum wysiłku intelektualnego i specjalnie nie wszystko pokazał, ale gdy porównałem obydwa raporty o błędach, okazało się, iż dotyczą innych rzeczy. Poniżej obydwa raporty.

Dla biblioteki z Grinbuka:



11:21:43 **** Incremental Build of configuration Release for project Terminall ****
make all
'Building file: ../MK_TERMINAL/mk_term.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=11059200UL -MMD -MP -MF"MK_TERMINAL/mk_term.d" -MT"MK_TERMINAL/mk_term.o" -c -o "MK_TERMINAL/mk_term.o" "../MK_TERMINAL/mk_term.c"
../MK_TERMINAL/mk_term.c: In function 'tr_cursor_hide':
../MK_TERMINAL/mk_term.c:27:2: warning: implicit declaration of function 'uart_puts_P' [-Wimplicit-function-declaration]
if(hide) uart_puts_P( UCUR_HIDE );
^
'Finished building: ../MK_TERMINAL/mk_term.c'
' '
'Building file: ../MKUART/mkuart.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=11059200UL -MMD -MP -MF"MKUART/mkuart.d" -MT"MKUART/mkuart.o" -c -o "MKUART/mkuart.o" "../MKUART/mkuart.c"
In file included from ../MKUART/mkuart.c:7:0:
../MKUART/../MKUART/mkuart.h:33:1: error: unknown type name 'uint8_t'
extern volatile uint8_t ascii_line;
^
../MKUART/../MKUART/mkuart.h:38:18: error: unknown type name 'uint16_t'
void USART_Init( uint16_t baud );
^
../MKUART/mkuart.c:16:18: error: conflicting types for 'ascii_line'
volatile uint8_t ascii_line;
^
In file included from ../MKUART/mkuart.c:7:0:
../MKUART/../MKUART/mkuart.h:33:25: note: previous declaration of 'ascii_line' was here
extern volatile uint8_t ascii_line;
^
make: *** [MKUART/mkuart.o] Błąd 1

11:21:45 Build Finished (took 2s.206ms)



Dla biblioteki z Blubuka:


11:26:38 **** Incremental Build of configuration Release for project Terminal ****
make all
'Building target: Terminal.elf'
'Invoking: AVR C Linker'
avr-gcc -Wl,-Map,Terminal.map -mmcu=atmega32 -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'
collect2.exe: error: ld returned 1 exit status
make: *** [Terminal.elf] Błąd 1

11:26:39 Build Finished (took 1s.363ms)

Chodzi mi o przyczynę takiej rozbieżności obydwu raportów , bo jak poprawić projekt pewnie dojdę, a jak nie - trudno.
Pozdrawiam wszystkich MK.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2015, o 11:50 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Witam ponownie.
I znalazłem przyczynę, wystarczyło zdefiniować:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

do pliku mkuart.h i program się kompiluje. Mimo różnych raportów program się kompiluje poprawnie dla obydwu bibliotek.

Wychodzi, iż narobiłem niepotrzebnego zamieszania, ale nieznajomość angielskiego skutkuje właśnie w ten sposób. Pozdrawiam wszystkich.
:oops: :oops: :oops: :oops: :oops: MK.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2015, o 13:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

To co zrobiłeś to nie jest rozwiązanie problemu. Kompilator krzyczy, że w bibliotekach do UART-a nie masz funkcji uart_puts_P czyli funkcji wysyłającej stringi z pamięci FLASH.

W tym fragmencie masz wytłumaczone jak taka funkcję sobie napisać https://youtu.be/qDDCU3udirA?t=3042

Również w czwartym odcinku o ADC, w kodach źródłowych do pobrania, znajduje się ta funkcja http://mirekk36.blogspot.com/2013/06/pr ... sc-04.html



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