UART Peter Fleury RAMEND

OP #1830030
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
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.
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
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.