PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit task_ADC



shell
21.11.2008, 21:05
Hallo zusammen,

ich habe hier ein ganz merkwürdiges Phänomen, was ich mir nicht erklären kann. Hier erst mal mein Programm:

#include "RP6RobotBaseLib.h"


int main(void){
initRobotBase();
writeString_P("[PROGRAMM START]");
mSleep(500);
writeString_P("Spannung: ");
uint16_t spannung;
task_ADC();
spannung = adcBat / 100;
writeInteger (spannung, DEC);
//mSleep(500);
writeChar('\n');
writeString_P("Spannung: ");
task_ADC();
writeInteger (adcBat, DEC);
writeString_P("[PROGRAMM ENDE]");
return 0;
}


Und jetzt das was er mir ausgibt:


[READY]
[PROGRAMM START]Spannung: 8

Danach kommt mix mehr. Bin ich jezt gerade nur zu verpeilt um zu merken was er hat=

Dirk
21.11.2008, 21:13
@shell:
Schon 'mal im Manual Seite 91 (Version 19.12.2007) nachgelesen, wie so ein einfaches Programm mit task_ADC aussieht?

Gruß Dirk

P.S.: Groß-/Kleinschreibung ist extrem wichtig!

radbruch
22.11.2008, 08:39
Danach kommt mix mehr.Möglicherweise befindet sich der RP6 schon im Nirwana bevor er weitere Daten senden kann:

return 0;
}

Vor dem return sollte eine Endlosschleife ausgeführt werden sonst springt das Programm beim Return irgendwo hin und der RP6 verabschiedet sich mit undefiniertem Verhalten:

while(1);

Gruß

mic

SlyD
22.11.2008, 14:21
Und noch ein zusätzlicher Hinweis:
Beim RP6Loader ist es so, dass aufgrund der Datenübertragung zu den Displays und anderen Dingen die Textausgabe im Terminal immer erst nach einem '\n' (Neue Zeile) Zeichen aktualisiert wird. Das wird gemacht damit spezielle steuersequenzen für die Displays (die z.B. beim Encoder Test verwendet werden) im Datenstrom erkannt werden können.

Also immer ein '\n' an die Ausgaben ranhängen.

MfG,
SlyD

shell
22.11.2008, 15:47
Also immer ein '\n' an die Ausgaben ranhängen.

](*,) Boah wenn man das nicht weiß, dann such man sich ja zu Tode. Das wars auf jeden Fall. Thread kann geschlossen werden. Danke für die Hilfe.