UART Peter Fleury RAMEND

OP #1830030
Lesenswert?

Hallo ich habe einen AtMega8 und möchte mit dem PC per UART 
kommunizieren. So habe ich mir die UART-Library von Peter Fleury geholt 
und das Testprogramm versucht zu komplieren. Am Testprogramm habe ich 
nichts geändert. Doch jedes Mal wenn ich es versuche dann kommt:
1
../uart.h:84:2: error: #error "size of UART_RX_BUFFER_SIZE + UART_TX_BUFFER_SIZE larger than size of SRAM"

Ich habe keine Ahnung warum es nicht funktioniert und was ist eigentlich 
RAMEND?
OP #1830068
Lesenswert?

Ich habe #include <avr/io.h> oben an uart.h eingefügt doch leider 
funktioniert es immer noch nicht.
Jetzt ist es aber so dass alle Funktionen die verwendet werden nicht 
funktionieren. Als Fehler kommt:
1
C:\Users\Nico\Mikrocontroller Programmierung\myAVR Board MK2 USB PLUS\Projects\UART\default/../UART.c:28: undefined reference to `uart_init'

Was kann ich dagegen tun? uart.h ist eingebunden.
#1830095
Lesenswert?

Nico L. schrieb:
> Ich habe #include <avr/io.h> oben an uart.h eingefügt doch leider
> funktioniert es immer noch nicht.

Der ist auch normalerweise nicht notwendig, der der Code der seinerseits 
uart.h includiert sowieso vorher schon <avr/io.h> includiert hat.

Gibs wieder raus. Das bringt nichts.

Wenn man sich bei den #includes an die Reihenfolge:
Zuerst die Systemheader
dann die projektspezifischen Header

hält (wie es P.Fleury in seinem Beispiel gemacht hat), dann muss ein 
Header File nie die allgmeinen System-Header Files includieren, 
höchstens ein paar spezifische. Da aber auf einem AVR ein *.c File mit 
größter Wahrscheinlichkeit sowieso avr/io.h includiert, ist es nicht 
notwendig, das in jeden Header mit reinzuziehen.

> Jetzt ist es aber so dass alle Funktionen die verwendet werden nicht
> funktionieren. Als Fehler kommt:
>
1
C:\Users\Nico\Mikrocontroller Programmierung\myAVR Board MK2 USB
2
> PLUS\Projects\UART\default/../UART.c:28: undefined reference to
3
> `uart_init'
4
>

Poste mal dein komplettes Projekt zusammengezippt.
Wenn du selber an den Buffergrößen nichts gedreht hast, könnte es noch 
sein, dass du bei der Projektgenerierung einen falschen Prozessor 
eingestellt hast, der einfach nicht genügend RAM hat
#1830104
Lesenswert?

Und verschieb dein Projekt auf einen Pfad, der nicht mit Leerzeichen 
gespickt ist. Als Softwareentwickler ist sowas meistens nicht besonders 
schlau.

Leerzeichn in Pfadnamen sind für BWL Studenten, die sich sonst nicht 
merken können, wo sie ihre PDF Präsentationen abgelegt haben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren