Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problema No such file or directory
29-03-2014, 07:53 PM,
#1
Problema No such file or directory
Hola, tengo el siguiente programa, pero me salen estos errores raros:


#define a 4
#define b 5
#define c 6
#define d 7

#define M1 0
#define M2 1
#define M3 2
#define M4 3

#define M1S1 10
#define M1S2 11

#define M2S1 12
#define M2S2 13

#define M3S1 14
#define M3S2 15

#define M4S1 16
#define M4S2 17


#define Rx 9
#define Tx 8
CHAR b0, b1, b2, b3, b4, b5, b6, b7;
CHAR EstadoMotores[8];
unsigned char recivedbyte;
unsigned char rxstr[64];

void setup() {
//run once:
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);

pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
pinMode(M3,OUTPUT);
pinMode(M4,OUTPUT);

pinMode(M1S1,INPUT);
pinMode(M1S2,INPUT);

pinMode(M2S1,INPUT);
pinMode(M2S2,INPUT);

pinMode(M3S1,INPUT);
pinMode(M3S2,INPUT);

pinMode(M4S1,INPUT);
pinMode(M4S2,INPUT);

digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW); //AQUI MARCA EL ERROR No such file or directory
digitalWrite(M3,LOW); //AQUI MARCA EL ERROR No such file or directory
digitalWrite(M4,LOW);

}

void loop() {
CDC.printf("Esperando Instrucción...\n");
while((recivedbyte=CDC.read(rxstr))==0);
if(recivedbyte>0)
{

//Obtener la secuencia
b0=rxstr[7];
b1=rxstr[6];
b2=rxstr[5];
b3=rxstr[4];
b4=rxstr[3];
b5=rxstr[2];
b6=rxstr[1];
b7=rxstr[0];
// b7 b6 b5 b4 b3 b2 b1 b0
// m4 m3 m2 m1 d c b a

//mandar fisicamente la secuencia
if(b0=='1')
digitalWrite(a,HIGH);
else
digitalWrite(a,LOW);

if(b1=='1')
digitalWrite(b,HIGH);
else
digitalWrite(b,LOW);

if(b2=='1')
digitalWrite(c,HIGH);
else
digitalWrite(c,LOW);

if(b3=='1')
digitalWrite(d,HIGH);
else
digitalWrite(d,LOW);

if(b4=='1')
digitalWrite(M1,HIGH);
else
digitalWrite(M1,LOW);

if(b5=='1')
digitalWrite(M2,HIGH);
else
digitalWrite(M2,LOW);

if(b6=='1')
digitalWrite(M3,HIGH);
else
digitalWrite(M3,LOW);

if(b7=='1')
digitalWrite(M4,HIGH);
else
digitalWrite(M4,LOW);

//obtener valores de los topes de motores
if(digitalRead(M1S1)==HIGH)
EstadoMotores[7]='1';
else
EstadoMotores[7]='0';
if(digitalRead(M1S2)==HIGH)
EstadoMotores[6]='1';
else
EstadoMotores[6]='0';

if(digitalRead(M2S1)==HIGH)
EstadoMotores[5]='1';
else
EstadoMotores[5]='0';
if(digitalRead(M2S2)==HIGH)
EstadoMotores[4]='1';
else
EstadoMotores[4]='0';

if(digitalRead(M3S1)==HIGH)
EstadoMotores[3]='1';
else
EstadoMotores[3]='0';
if(digitalRead(M3S2)==HIGH)
EstadoMotores[2]='1';
else
EstadoMotores[2]='0';

if(digitalRead(M4S1)==HIGH)
EstadoMotores[1]='1';
else
EstadoMotores[1]='0';
if(digitalRead(M4S2)==HIGH)
EstadoMotores[0]='1';
else
EstadoMotores[0]='0';
//Mandar el estado de los motores
CDC.printf("%s",EstadoMotores);
}
}

ya he probado otros programas que utilizan CDC y no tengo problemas, lo compila bien... pero aquí no se cual es el problema...
Estoy trabajando sobre Win8.1 x64, ya lo he probado con WinXP x86 y sale lo mismo...

Mi placa es una pingüino pic 4550 con bootloader 2.x
Alguna idea???

Saludos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)