Ich bin ein C-Anfänger und brauche Hilfe: Ich arbeite mit MPLAB IDE v.8.60, verwende den PIC16F887 und den Hi-Tech C Compiler! Das Ziel ist es eine Positionsmessung eines Motors zu entwickeln. Mit dieser Positionsmessung kann man erkennen, in welcher Motorstellung sich die Maschine gerade befindet. Dies wird mittels einer Codescheibe und dazugehörigen Lichtschranken an der gedrehten Welle des Motors ermöglicht. Unterprogramm: #include <htc.h> #include <stdio.h> #define druckposition RC0 #define position_a RA4 #define position_b RC1 #define position_c RC2 #define position_d RC3 #define position_e RA2 #define position_f RA3 unsigned char mess_position; void main() { druckposition = 0; delay(1); mess_position = 1 * position_a + 2 * position_b + 4 * position_c + 8 * position_d + 16 * position_e + 32 * position_f; _ascii(mess_position,10); druckposition = 1; } ______________________________________________________________ Fehlermeldung beim Build: (1273) Omniscient Code Generation not available in Lite mode (warning) HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.71a Copyright (C) 2010 Microchip Technology Inc. Error [500] ; 0. undefined symbols: _delay(Positionsmessung.obj) __ascii(Positionsmessung.obj) ********** Build failed! ********** Könnte mir jemand helfen?
steht doch da was das Problem ist. Er kennt die Funktion delay nicht. Ich denk mal du wolltest die Funktion vom Compiler verwenden. Ein Blick in den User Guide bewirkt da manchmal wunder: __delay_ms(x) // request a delay in milliseconds __delay_us(x) // request a delay in microseconds grad gesehen, das gibts auch noch: _delay(10); // delay for 10 cycles Ansonsten, wenn du keine Ahnung hast wo der Fehler liegt, Teile vom Code auskommentieren und kucken wann der Fehler weg ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.