Problem mit TI StellarisWare LaunchPad

Gast #2993814
Lesenswert?

Hallo,

nachdem das MSP430 Launchpad für mein µC-Debüt-Projekt, ein 
SDCard-Datenlogger zu klein wurde (Code und Ram, IOs), arbeite ich mich 
gerade durch die TI Tutorials zum Stellaris LaunchPad und scheitere an 
einer ganz einfachen Tasterabfrage (Code s.u.). ;(

Zum programmieren nutze ich CCS5.3 unter WinXP. Und erhalte folgende 
Fehlermeldung:
1
unresolved symbol ButtonsInit, first referenced in ./main.obj 
2
#10010 errors encountered during linking; "Lab2.out" not built  
3
unresolved symbols remain  
4
unresolved symbol ButtonsPoll, first referenced in ./main.obj

Wo liegt der Fehler? Fehlt eine Include Datei?


Anmerken möchte ich noch:
Als eher Anfänger, der aber schon mit dem MSP430 LaunchPad und den 
zahlreichen Codebeispielen es geschafft hat einen SD-Card-Logger  fast 
erfolgreich zum laufen zu bringen (Code und Ramgrenze erreicht), fehlen 
mir bisher die entsprechenden Code-Beispiele für das Stellaris LP (z.B. 
für SD-Card) oder finde ich die nur noch nicht?

Und ich empfinde die StellarisWare bisher noch eher als hinderlich. Z.B. 
die Delay-FCN, die noch nicht in us oder ms nutzbar ist oder die 
GPIO-FCNs bei denen ich zwar eine Bit-Maske setze, aber dann immernoch 
den entsprechenden richtigen 'Portwert' dahinterschreiben muss. Wenn 
schon vereinfachen, dann doch gerne so wie beim mBed. Nur finde ich 
lernt man(n) dort eben wengiger verstehen, was eigentlich dahinter 
steckt und passiert.

Vielen Dank für Hilfe und Antworten!
Jo
1
#include "inc/hw_types.h"
2
#include "inc/hw_memmap.h"
3
#include "driverlib/sysctl.h"
4
#include "driverlib/gpio.h"
5
#include "boards/ek-lm4f120xl/drivers/buttons.h"
6

7
#define LED_Blau_Ein GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_PIN_2);
8
#define LED_Blau_Aus GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);
9

10
int main(void)
11
{
12
  SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
13
  ButtonsInit();
14
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
15
  GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
16

17
  unsigned char ucState;
18
  unsigned char ucDelta;
19

20
  while(1)
21
  {
22
    ucState = ButtonsPoll(&ucDelta, 0);
23

24
    if(BUTTON_PRESSED(LEFT_BUTTON, ucState, ucDelta))
25
    {
26
      LED_Blau_Ein;
27
    }
28
    else
29
    {
30
      LED_Blau_Aus;
31
    }
32

33
    SysCtlDelay(2000000);
34

35
  }//While
36
}//Main
Persönliche Seite #2993850
Lesenswert?

Du verwendest eine Funktion namens ButtonsInit.

In einer der von Dir eingebundenen Headerdateien ist auch der Prototyp 
(die Deklaration) der Funktion zu finden -- was aber nicht gefunden 
wird, ist die Implementierung (die Definition, der Code) der Funktion.

Du wirst das C-Source-File, in dem diese Funktion drinsteht, zur 
Projektverwaltung hinzufügen müssen, das Einbinden der Headerdatei macht 
das nicht.

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