Hallo gcc-Experten,
Wie der Titel bereits sagt habe ich ein Problem mit der Einbindung der
uart library von Peter Fleury.
Obwohl ich - wie weiter unten zu sehen - die uart.h Datei included habe
erscheint mir beim compilieren/linken folgende Fehlermeldung
1 | -------------- Build: Debug in mm_comtest ---------------
|
2 |
|
3 | Compiling: main.c
|
4 | Linking console executable: bin/Debug/mm_comtest.elf
|
5 | obj/Debug/main.o: In function `__vector_13':
|
6 | /home/felix/avr/tests/mm_comtest/main.c:19: undefined reference to `uart_getc'
|
7 | collect2: ld returned 1 exit status
|
8 | Process terminated with status 1 (0 minutes, 0 seconds)
|
9 | 1 errors, 0 warnings
|
Als IDE verwende ich Code::Blocks unter Ubuntu und steh auf dem
Schlauch.
Meiner Interpretation und google Ergebnissen nach fehlt irgend ein
Eintrag für den Linker, aber ich weiß nicht, was er noch brauchen
sollte.
Die uart.h liegt natürlich im Projektordner und wurde testweise auch
schon den Ordner der anderen includes kopiert.
Könnt ihr mir vielleicht einen Tipp geben, wie ich das Problem
beseitigen kann?
Mit freundlichen Grüßen,
Felix Dohrmann
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 | #include <stdint.h>
|
4 | #include <stdbool.h>
|
5 | #include "functions.h"
|
6 | #include "uart.h"
|
7 |
|
8 |
|
9 | #define UART_BAUD_RATE 38400
|
10 |
|
11 | //globale Variablen fuer interrupts
|
12 | volatile uint8_t bit_counter;
|
13 | volatile uint8_t new_uartByte, new_uartBit, uartBit1, uartBit2;
|
14 |
|
15 |
|
16 | ISR(USART_RXC_vect)
|
17 | {
|
18 | // Gleissignale empfangen
|
19 | new_uartByte=uart_getc();
|
20 | switch(new_uartByte)
|
21 | {
|
22 | case 32: //Ein 1 Bit erhalten
|
23 | new_uartBit=1;
|
24 | PORTC |= (1 << PC7);
|
25 | break;
|
26 | case 0: //Ein 0 Bit erhalten
|
27 | new_uartBit=0;
|
28 | PORTC |= (0 << PC7);
|
29 | break;
|
30 | }
|
31 | if (bit_counter%2==0)
|
32 | {
|
33 | uartBit1=new_uartBit;
|
34 | PORTC |= (1 << PC6);
|
35 | }
|
36 | else
|
37 | {
|
38 | uartBit2=new_uartBit;
|
39 | PORTC |= (0 << PC6);
|
40 | }
|
41 | bit_counter++;
|
42 | }
|