Pages: 1 [2]   Go Down
Author Topic: [SOLUCIONADO] Una función  (Read 838 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias a todos.
Un saludo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Al final  he conseguido solucionar el problema.
Gracias  a todos de nuevo.
« Last Edit: October 29, 2011, 09:05:44 am by peptro » Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si no pones como este post no sirve para el futuro.
para que otros puedan beneficiarse del tiempo que emplearon los usuarios en ayudarte a ti, y tu propio tiempo investigandolo, pon como lo solucionaste y así aprendemos todos.
ver mi firma.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tienes toda la razón, aquí está el código

#define setTempoVd 50 
int esclavo; 
int salida; 
unsigned char rxByte = 0;
unsigned char rxConta = 0;
unsigned char CRC8 = 0;
unsigned char txrxSet =0;
char i = 0;
unsigned long tempoStop=0;
void setup(){
  Serial.begin(9600); 
}
void loop(){
   if (Serial.available() > 0) Decode();
   if (txrxSet == 1) if (tempoStop< millis()){
          txrxSet = 0;
  } 
}
void Decode(){
  tempoStop= millis() +  setTempoVd;
  txrxSet = 1;
  rxByte= Serial.read();
  if (rxByte== 0xFF && rxConta ==0){
    CRC8=0;
    rxConta++;
  } 
  else if (rxConta == 1){
    CRC_8(rxByte);
    esclavo = rxByte;
    rxConta++; 
  }
  else if (rxConta == 2){
    CRC_8(rxByte);
    salida = rxByte;
    rxConta++; 
  }
  else if (rxConta == 3){
      if (CRC8 ==rxByte){
        }
    rxConta=0; 
  }
}
void CRC_8(unsigned char b){
  for(char i = 0; i < 8; b = b >> 1, i++){
   if((b ^ CRC8) & 1) CRC8 = ((CRC8 ^ 0x18) >> 1) | 0x80;
   else CRC8 = (CRC8 >> 1) & ~0x80;
  }
}
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias peptro.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Pages: 1 [2]   Go Up
Jump to: