Hallo, ich bin bezüglich C für PICs ein echter Neuling. Ich wollte lediglich eine Möglichkeit haben Ergebnisse des PICs computerfreundlich zu speichern (Sd-Karte). Also habe ich mir das E-Book "SD Card Projects using the PIC microcontroller" geholt. Verstehe ich (sprachlich) alles ziemich gut. Jetzt wollte ich eine einfache "Schreibübung" nachprogrammieren. Der PIC erstellt eine Datei auf der SD-Karte und füllt sie mit Testtext. Ich nutze MPLAB und C18 zusammen mit Microchip Application Libraries. Klappt alles, lediglich meckert er (Compiler) das er die Registerdefinitionen: // Registers for the SPI module you want to use #define SPICON1 SSPICON1 #define SPISTAT SSPISTAT #define SPIBUF SSPIBUF #define SPISTAT_RBF SSPISTATbits.BF #define SPICON1bits SSPICON1bits #define SPISTATbits SSPISTATbits wie SSPIBUF oder SSPICON1 nicht kennt. Lasse ich die betroffene Datei SD-SPI.c weg, meckert der Linker "MPLINK 4.38, Linker Copyright (c) 1998-2010 Microchip Technology Inc. Error - could not find definition of symbol 'MDD_SDSPI_InitIO' in file './FSIO.o'. Errors : 1" Brauch ich noch irgendwelche Dateien oder so? Ich habe nämlich keine Ahnung was ich ändern muss :-(. Vielen Dank für eure Hilfe, Niklas.
Gast
#2029316
>wie SSPIBUF oder SSPICON1 nicht kennt.
Mach das I in den Namen weg.
Vielen Dank.
Jetzt mäkelt er nur nich an:
#define SPICLOCK TRISCbits.TRISC3
#define SPIIN TRISCbits.TRISC4
#define SPIOUT TRISCbits.TRISC5
mit
Error [1205] unknown member 'TRISC4' in '__tag_69'
und
type mismatch in assignment
für die o.g. Ports herum.
Niklas
Gast
#2031172
>Jetzt mäkelt er nur nich an: > #define SPICLOCK TRISCbits.TRISC3 RC3 bzw. TRISC3 gibt es bei dem PIC doch gar nicht. > #define SPIIN TRISCbits.TRISC4 > #define SPIOUT TRISCbits.TRISC5 RC4 ist laut Datenblatt auch als Input verwendbar, aber bei meiner uralten C18 Version ist TRISC4 nicht definiert. Vermutlich weil das USB Interface da drauf sitzt. Das gleiche gilt für RC5. Ausgang kann der gar nicht werden. Das SPI Interface sitzt übrigends auf RB0, RB1 und RC7;) Das kannst du nicht anschliessen wie es dir gerade in den Kram passt.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.