lunes, 23 de mayo de 2011

SetMode(uint_8 mode)

DESCRIPCIÓN

Cambia el modo de funcionamiento del brick. Siendo posible configurar el módulo bajo los siguientes modos de funcionamiento: LISTEN_ONLY_MODE, LOOPBACK_MODE, SLEEP_MODE o NORMAL_MODE.

SINTAXIS

CAN.SetMode(mode);

PARAMETROS

mode: Los posibles modos de funcionamiento y su sintaxis son:
  • LISTEN_ONLY_MODE: Utilizado para ponernos en modo espía, sin posiblidad de escribir en el bus
  • LOOPBACK_MODE: Especialmente indicado para realizar pruebas y testear el conexionado con tu microcontrolador
  • SLEEP_MODE: Especialmente indicado para aplicación con muy bajo consumo.
  • NORMAL_MODE: Modo de funcionamiento normal en el bus con capacidad de lectura/escritura.

DEVUELVE

Nada

EJEMPLO

// ----------------------------------------------
// SECUDUINO
// http://secuduino.blogspot.com/
// By Igor Real
// 16/05/2011
// ----------------------------------------------

#include <CAN.h>

void setup()
{
  // set up CAN
  CAN.begin(1);
  CAN.SetMode(LOOPBACK_MODE);
  //setup SERIAL
  Serial.begin(115200);
 
  CAN_TxMsg.id=0x351;    
  CAN_TxMsg.header.rtr=0;
  CAN_TxMsg.header.length=8;
  CAN_TxMsg.data[0]=0x00;
  CAN_TxMsg.data[1]=0x00; 
  CAN_TxMsg.data[2]=0x00;
  CAN_TxMsg.data[3]=0x00;
  CAN_TxMsg.data[4]=0x00;
  CAN_TxMsg.data[5]=0x00;
  CAN_TxMsg.data[6]=0x00;
  CAN_TxMsg.data[7]=0x00;
}

void loop()
{

  CAN.send(&CAN_TxMsg);

  if (CAN.CheckNew())
  {
    CAN_TxMsg.data[0]++;
    CAN.ReadFromDevice(&CAN_RxMsg);
   
    if (CAN_RxMsg.id==0x351)        //SPEED
    {
       Serial.print(CAN_RxMsg.id,HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[0],HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[1],HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[2],HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[3],HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[4],HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[5],HEX);
       Serial.print(";");
       Serial.print(CAN_RxMsg.data[6],HEX);
       Serial.print(";");
       Serial.println(CAN_RxMsg.data[7],HEX);
    }
      
  }   
}