hallo SlyD,
ich teste nun mit der neuen Lib und auch die beta version vom RP6Loader 1.4.
1) der Loader startet sofort das Programm auf Rp6 auch wenn ich nur Upload aktiviere!!!
2) Ich habe das gleiche problem wie vorher. Die Komm. beim Hinweg ist falch, ich gebe eine 1, es wird aber eine 49 zur rp6 geschickt.
Es liegt mit sicherheit nicht an das C-Programm, aber auch nicht am Terminal selber, weil du das getestet hast bei dir.
kann das irgend eine falche Konfiguration bei mir sein??
hier ist das neue code falls jemand das auch testen möchte um zu sehen ob es wo anders gut klappt:
Code:
#include "RP6RobotBaseLib.h"
#define charsToReceive 5
uint8_t TargetPosition;
int main(void)
{
initRobotBase(); // Always call this first! The Processor will not work
// correctly otherwise.
setLEDs(0b111111); // Turn all LEDs on
mSleep(500); // delay 500ms
setLEDs(0b000000); // All LEDs off
while(true)
{
char receiveBuffer[charsToReceive+1]; // <<-- da kommt der Text rein
clearReceptionBuffer(); // Empfangspuffer leeren
writeString_P("\n Zielposition eingeben: \n");
uint8_t buffer_pos = 0;
while(true)
{
if(getBufferLength()) // Sind neue Zeichen da?
{
writeString_P("\n bin im ersten If drin \n");
receiveBuffer[buffer_pos] = readChar(); // Ein Zeichen lesen
if(receiveBuffer[buffer_pos]=='\n' || buffer_pos >= charsToReceive) // Ende?
{
writeString_P("\n bin im zweiten If drin \n");
receiveBuffer[buffer_pos]='\0';
buffer_pos = 0;
break; // Schleife beenden! // ***1 s. unten
}
buffer_pos++;
}
}
writeChar('\n');
writeStringLength(receiveBuffer,charsToReceive,0);
TargetPosition=(uint8_t) receiveBuffer[0];
writeString_P("\n Target position is: \n");
writeInteger(TargetPosition,DEC);
}
return 0;
}
Lesezeichen