Arbeite im Rahmen einer Semesterarbeit gerade an einer Schaltung auf
Basis des PIC 16F876 unter Verwendung von MPLAB 8.33 und des
cc5x-Compilers in der free bzw. student-version. Ziel der Schaltung ist
das Aufnehmen eines Messwertes mittels von Sensor geliefertem analogen
Spannungswert (0 bis 10 Volt) über AN0, Umrechnung des 10-Bit
AD-Wandlerwertes (TYP uns16) und Ausgabe des Messwertes auf einem
LCD-Display (2x16, PORTB, E=PIN0, RS=PIN2, RW=PIN3) und über USART.
Problem: Nur Grundlagenkenntnisse in C und noch nie mit PIC oder cc5x
(o.ä MCU's bzw. Compilern) gearbeitet (mal mit Motorola 68k
rum-assemblert aber mehr auch nicht), also bitte nicht gleich mit
verbalen Tomaten werfen.
Also, das eigentliche Problem: U an ANO wird von einem Drucksensor
geliefert (Messbereich 10^(-4)mbar - 10^3 mbar) und ist über Druck =
mbar*exp(U/V + konst.) mit dem eigentlichen Messwert verknüpft. Die
Ausgabe auf dem LCD soll in der Form "xxxx.x e^(-y) mbar" erfolgen. Zur
Verarbeitung des U-Signals wollte ich die MATH24F.H einbinden um die
int24 -> float24 Umwandlung und die float24 exp10(float24); Funktion zu
nutzen (cc5x in der free-version nur float24, behauptet der Compiler).
Bei #include <MATH24F.H> erfolgt folgende Fehlermeldung:
CC5X Version 3.4A, Copyright (c) B Knudsen Data, Norway 1992-2009
--> FREE edition, 8-16 bit int, 24 bit float, 1.5k code, reduced optim.
Test3.c:
if (expo > sizeof(arg1f24)*8-7)
goto RETURN;
^------
Error[1] C:\Programme\bknd\CC5X\MATH24F.H 434 : Macro 'RETURN' needs
arguments
(Macro identifier needs arguments, for example 'macroX(10)')
goto RETURN;
if (!arg2f24.high8)
^------
Error[2] C:\Programme\bknd\CC5X\MATH24F.H 435 : Duplicate or illegal
label
(The label name must not be defined twice within a function. Also, it
must be a unique name not used in another context)
goto RETURN;
if (!arg2f24.high8)
^------
Error[3] C:\Programme\bknd\CC5X\MATH24F.H 435 : No ';' found
(Each statement (and definition) must be terminated by a semicolon.
Check
previous statement)
goto RETURN;
if (!arg2f24.high8)
^------
Error[4] C:\Programme\bknd\CC5X\MATH24F.H 435 : Syntax error (or
limitation)
(CC5X is unable to compile the expression due to syntax error or
limited C support. Code correction is required. Check also for
unbalanced block delimiters '{ .. }' in previous statements)
Error options: -ew: no warning details -ed: no error details -eL: list
details
BUILD FAILED: Sun Aug 23 17:08:02 2009
Wie gesagt, arbeite erst seit drei Wochen mit dem cc5x und den PIC's,
weshalb ich mich noch nicht so besonders gut damit auskenne, deshalb
folgende Frage: Hat jeman eine Idee welcher Fehler dieses Problem
verursacht und wie er behoben werden kann ??
Im Voraus schon mal vielen Dank an alle die sich die Zeit nehmen hierauf
zu Antworten und/oder mit Ihren Beiträgen im www Anfängern wie mir den
Einstieg zu erleichtern (bzw. die Realisierung ihre Projekte in
annehmbaren überhaupt erst ermöglichen)
PS: Dies ist mein erster Beitrag in einem Internet Forum, deshalb bitte
Gnade, war der Beitrag zu lang??