IceWave
30.11.2015, 16:17
Hi, ich habe heute mal versucht ein bisschen meinen Pro Bot zu programmieren.
Jetzt habe ich ein paar Fragen.
Erstmal programmiere ich in C-Compact.
Ist das jetzt eine bestimmte Programmiersprache nur für die CControl oder ist das die Sprache C, welche so oft verwendet wird?
Und dann habe ich das hier jetzt mal geschrieben.
Jedoch gehen die LED's immer sofort an..
Ist hier vielleicht etwas falsch? if(ACS_L == 1)
#define IR_left 27
#define IR_right 29
#define TSOP 26
#define FLL 19
#define FLR 18
byte ACS_R, ACS_L;
void main(void)
{
Port_DataDirBit(IR_left,PORT_OUT);
Port_DataDirBit(IR_right,PORT_OUT);
Port_DataDirBit(TSOP,PORT_IN);
Port_DataDirBit(FLL,PORT_OUT);
Port_DataDirBit(FLR,PORT_OUT);
Port_DataDirBit(BLL,PORT_OUT);
Port_DataDirBit(BLR,PORT_OUT);
Port_WriteBit(FLR,PORT_OFF);
Port_WriteBit(FLL,PORT_OFF);
Port_WriteBit(BLR,PORT_OFF);
Port_WriteBit(BLL,PORT_OFF);
while(1)
{
IR_CheckLeft();
IR_CheckRight();
AbsDelay(10);
if(ACS_L == 1)
{
Port_WriteBit(FLL,PORT_ON);
}
if(ACS_R == 1)
{
Port_WriteBit(FLR,PORT_ON);
}
}
}
void IR_CheckLeft(void)
{
Port_WriteBit(IR_right,PORT_OFF);
Port_WriteBit(IR_left,PORT_ON);
AbsDelay(5);
ACS_L = Port_ReadBit(TSOP);
Port_WriteBit(IR_left,PORT_OFF);
}
void IR_CheckRight(void)
{
Port_WriteBit(IR_right,PORT_ON);
Port_WriteBit(IR_left,PORT_OFF);
AbsDelay(5);
ACS_R = Port_ReadBit(TSOP);
Port_WriteBit(IR_right,PORT_OFF);
}
Jetzt habe ich ein paar Fragen.
Erstmal programmiere ich in C-Compact.
Ist das jetzt eine bestimmte Programmiersprache nur für die CControl oder ist das die Sprache C, welche so oft verwendet wird?
Und dann habe ich das hier jetzt mal geschrieben.
Jedoch gehen die LED's immer sofort an..
Ist hier vielleicht etwas falsch? if(ACS_L == 1)
#define IR_left 27
#define IR_right 29
#define TSOP 26
#define FLL 19
#define FLR 18
byte ACS_R, ACS_L;
void main(void)
{
Port_DataDirBit(IR_left,PORT_OUT);
Port_DataDirBit(IR_right,PORT_OUT);
Port_DataDirBit(TSOP,PORT_IN);
Port_DataDirBit(FLL,PORT_OUT);
Port_DataDirBit(FLR,PORT_OUT);
Port_DataDirBit(BLL,PORT_OUT);
Port_DataDirBit(BLR,PORT_OUT);
Port_WriteBit(FLR,PORT_OFF);
Port_WriteBit(FLL,PORT_OFF);
Port_WriteBit(BLR,PORT_OFF);
Port_WriteBit(BLL,PORT_OFF);
while(1)
{
IR_CheckLeft();
IR_CheckRight();
AbsDelay(10);
if(ACS_L == 1)
{
Port_WriteBit(FLL,PORT_ON);
}
if(ACS_R == 1)
{
Port_WriteBit(FLR,PORT_ON);
}
}
}
void IR_CheckLeft(void)
{
Port_WriteBit(IR_right,PORT_OFF);
Port_WriteBit(IR_left,PORT_ON);
AbsDelay(5);
ACS_L = Port_ReadBit(TSOP);
Port_WriteBit(IR_left,PORT_OFF);
}
void IR_CheckRight(void)
{
Port_WriteBit(IR_right,PORT_ON);
Port_WriteBit(IR_left,PORT_OFF);
AbsDelay(5);
ACS_R = Port_ReadBit(TSOP);
Port_WriteBit(IR_right,PORT_OFF);
}