MPLAB und UART

OP #1103048
Hallo Allerseits,

ich nutze MPLAB von Microchip und den C18 Compiler. Wenn ich die 
Funktion OpenUSART() aus usart.h nutzen will, kommt folgende 
Fehlermeldung

MPLINK 4.00, Linker
Copyright (c) 2005 Microchip Technology Inc.
Error - could not find definition of symbol 'OpenUSART' in file 
'N:\Projekte\2063030_Netzschaltfeld\03_Arbeitsverzeichnis\033_Funktionsm 
usterphase\0333_FBG_Netzschaltfeld\Firmware\main.o'.
Errors    : 1

Wie es scheint findet der Linker die Bibliothek nicht, welche 
OpenUSART() enthält. Wie kann man das dem MPLAB/Linker beibringen?

MFG
Falk
Hallo Falk,

ist denn im main.c der komplette Pfad zu usart.h per #include 
eingebunden?

Nachtrag:

Prüfe mal die Einstellungen unter

Project>Build Options>Project

dort findest du Eingaben für Include-, Library-, Linker-Path

Gruß,
Edson
OP
@Meister Eder (edson)

>ist denn im main.c der komplette Pfad zu usart.h per #include
>eingebunden?

Nö, warum auch? Alle Beispiele machen einfach

1
#include <usart.h>

Und fertig. Und der Compiler meckert ja nicht, wohl aber der Linker.

MFG
Falk
OP
@Dieter Werner (dds5)

>Ich hatte vor einiger Zeit mal Schwierigkeiten mit Pfadnamen die länger
>als 64 Zeichen waren,

Problem ist bekannt, kann ich aber ausschliessen. Hab ein Testprojekt 
mit kurzen Pfadnamen angelegt, geht immer noch nicht. :-(

MfG
Falk
OP
1
#include <p18cxxx.h>
2
#include <usart.h>
3

4
void main(void) {
5

6
  // configure IOs
7

8
  TRISA = 0xFF;
9
  TRISB = 0x21;
10
  TRISC = 0x90;
11
  TRISD = 0xFF;
12
  TRISE = 0x00;
13

14
    PORTB = 0x20;
15
    PORTC = 0xFF;
16

17
  // configure UART
18

19
    OpenUSART(USART_TX_INT_OFF &
20
              USART_RX_INT_OFF &
21
              USART_ASYNCH_MODE &
22
              USART_EIGHT_BIT &
23
              USART_CONT_RX &
24
              USART_BRGH_HIGH,
25
              3);
26

27
    // endless main loop
28

29
  while(1) {
30
  }
31
}

Prozessor ist 18F4221
severino:
>MPLINK 4.14
>MPLINK 4.21

Das könnte es sein. Falk hat angegeben:

>MPLINK 4.00

Ist das die böse MPLAB V8.0? Damit gabs doch jede Menge Ärger. Ich 
musste die Version komplett deinstallieren, um nachher mit V8.10 weiter 
arbeiten zu können.
OP
OK, das Problem wurde gefunden, wenn auch noch nicht behoben. Aus 
unerfindlichen Gründen ist die Bibliothek für den PIC18F4221 in meiner 
Compilerversion kastriert, gerade mal 6kB. Die für die meisten anderen 
Typen ist um die 500kB. Stellt man einen anderen Typen mit grosser 
Bibliothek ein läuft der Linker problemlos. Schöner Mist!

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.