PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IR testroutine



inka
27.09.2013, 18:12
hallo,

ich suche seit tagen eine einfache routine zum testen des IR sende und empfangsystems des RP6 (von der M32 aus verwendbar). Das ACS ist mir zu kompliziert...

es muss nicht viel können, eine ausgabe links-ok, rechts-ok würde schon völlig reichen, wie müsste sowas aussehen? Oder gibts sowas schon in irgendwelcher lib und ich habs einfach übersehen?

Dirk
28.09.2013, 17:02
Hi,

in der Demo RP6Control_07_I2CMaster.c wird ja z.B. LEFT, RIGHT oder MIDDLE als ACS-Test auf dem LCD ausgegeben.
Dasselbe kann auch die Demo RP6Control_08_I2CMaster.c.
In den Demos kannst du sehen, wie das gemacht wird.

inka
29.09.2013, 10:56
hi,

um zu verstehen was welche funktion im einzelnen bewirkt muss ich diese demo mit und ohne den betreffenden part auch kompilieren können. Ohne änderungen an der datei ist das kompilieren mit code:blocks kein problem...(bei fehlern sind die fehlermeldungen von code:blocks etwas verständlicher als die von "make")

Wenn ich aber in code:blocks die libs "RP6Control_I2CMasterLib.c & h" include, bekomme ich fehlermeldungen über doppeltes vorkommen mancher funktionen (manch einer der funktionen aus der demo wurden ja in die lib übernommen, denke ich)...

ich kann bei code:blocks nachfragen nach der deklaration bestimmter funktionen. Wenn die antwort lautet - RP6Control_I2CMasterLib.h, bedeutet das, dass die funktion auch in der RP6Control_I2CMasterLib.c drinn ist?

Ist sie dann identisch mit der funktion in der demo, oder muss das nicht sein?

ist das mit den vielen "#definitionen" auch so?

Dirk
29.09.2013, 12:00
Hi inka,

Wenn ich aber in code:blocks die libs "RP6Control_I2CMasterLib.c & h" include, bekomme ich fehlermeldungen über doppeltes vorkommen mancher funktionen ...
Die RP6Control_I2CMasterLib gibt es ja in 3 Varianten: Vom RP6CONTROL Example 08 bis 10 wurde die Lib immer mehr vervollständigt. Ja nachdem, welche der 3 Libs du in code:blocks mit welchem Hauptprogramm verlinkst, kann es auch eine Doppelung von Funktionen geben.
Da gibt es nur 2 Wege:
a) Du nimmst die am weitesten entwickelte RP6Control_I2CMasterLib aus Example 10 und streichst aus deinem Hauptprogramm alle doppelten Funktionen ODER
b) Du bindest gar keine RP6Control_I2CMasterLib ein und kopierst aus einer RP6Control_I2CMasterLib alle fehlenden Funktionen in dein Hauptprogramm.


Wenn die antwort lautet - RP6Control_I2CMasterLib.h, bedeutet das, dass die funktion auch in der RP6Control_I2CMasterLib.c drinn ist?
Vermutlich ja, weil jede Funktion aus der .c Datei im Header .h deklariert sein sollte.


ist das mit den vielen "#definitionen" auch so?
Die Definitionen werden mit der Weiterentwicklung der 3 RP6Control_I2CMasterLibs auch mehr. Wenn eine Definition fehlt oder doppelt ist, gibt es nur die 2 Wege, die ich oben schon für die Funktionen erwähnt habe.