Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Lähetyskoodi oma tekemä :
Code Block

#include "bsp.h"
#include "mrfi.h"
#include "nwk_types.h"
#include "nwk_api.h"
#include "bsp_leds.h"
#include "bsp_buttons.h"

void toggleLED(uint8_t);

static void linkTo(void);

static uint8_t  viestiLaskuri=0;
static linkID_t sLinkID1 = 0;

static uint8_t sRxCallback(linkID_t);

void main(void)
{


BSP_Init(); // laudan alustus
SMPL_Init(sRxCallback); // radion alustus
   
BSP_TOGGLE_LED2(); // punanen ledi p‰‰lle

    do {
    if (BSP_BUTTON1()) // odotetaan ett‰ nappia painetaan
    {
      break;
    }
  } while (1);

     linkTo(); // linkin muodostaminen
      
   while (1) ;
   

}

static void linkTo()
{
  uint8_t  msg[2];//, delay =0;

  while (SMPL_SUCCESS != SMPL_Link(&sLinkID1)) 
  {
    // ledit vilkkuu kunnes linkki on onnistunut
    BSP_TOGGLE_LED1(); 
    BSP_TOGGLE_LED2(); 
    NWK_DELAY(50); // ledit vilkkuu 50ms v‰lein
  }

  // kun linkki onnistunut laitetaan vihre‰ ledi p‰‰lle
  BSP_TOGGLE_LED1();

  // radion k‰ynnistys
  SMPL_Ioctl( IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_RXON, 0);

  // laitetaan viestin ensimm‰iseen alkioon arvo 1
  msg[0] = 1;  // vastaan otin lukee sen vihreen‰ ledin‰
  while (1)
  {
   NWK_DELAY(100);
    msg[1] = ++viestiLaskuri; // viestin toiseen alkioon viestien m‰‰r‰
    SMPL_Send(sLinkID1, msg, sizeof(msg)); // l‰hetet‰‰n viesti
  }
}
static uint8_t sRxCallback(linkID_t port) // viestin takaisin vastaanotto
{
uint8_t msg[2], len;

  // tarkisetaan vastaan otetavan viestin ID
  if (port == sLinkID1)
  {
    
     if ((SMPL_SUCCESS == SMPL_Receive(sLinkID1, msg, &len))) 
     {
    
    BSP_TOGGLE_LED2(); // jos viestin vastaan otto onnistunut niin punanen ledi p‰‰lle
     
       return 1;
     }
  }
  
  return 0;
}
#include "bsp.h"#include "mrfi.h"#include "nwk_types.h"#include "nwk_api.h"#include "bsp_leds.h"#include "bsp_buttons.h"void toggleLED(uint8_t);static void linkTo(void);static uint8_t  viestiLaskuri=0;static linkID_t sLinkID1 = 0;static uint8_t sRxCallback(linkID_t);void main(void){BSP_Init(); // laudan alustusSMPL_Init(sRxCallback); // radion alustus	  BSP_TOGGLE_LED2(); // punanen ledi p‰‰lle    do {    if (BSP_BUTTON1()) // odotetaan ett‰ nappia painetaan    {      break;    }  } while (1);     linkTo(); // linkin muodostaminen      	  while (1) ;	  	}static void linkTo(){  uint8_t  msg[2];//, delay =0;  while (SMPL_SUCCESS != SMPL_Link(&sLinkID1))   {    // ledit vilkkuu kunnes linkki on onnistunut   	BSP_TOGGLE_LED1();     BSP_TOGGLE_LED2();     NWK_DELAY(50); // ledit vilkkuu 50ms v‰lein  }  // kun linkki onnistunut laitetaan vihre‰ ledi p‰‰lle 	BSP_TOGGLE_LED1();  // radion k‰ynnistys  SMPL_Ioctl( IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_RXON, 0);  // laitetaan viestin ensimm‰iseen alkioon arvo 1  msg[0] = 1;  // vastaan otin lukee sen vihreen‰ ledin‰  while (1)  {  	NWK_DELAY(100);   	msg[1] = ++viestiLaskuri; // viestin toiseen alkioon viestien m‰‰r‰    SMPL_Send(sLinkID1, msg, sizeof(msg)); // l‰hetet‰‰n viesti  }}static uint8_t sRxCallback(linkID_t port) // viestin takaisin vastaanotto{uint8_t msg[2], len;  // tarkisetaan vastaan otetavan viestin ID  if (port == sLinkID1)  {         if ((SMPL_SUCCESS == SMPL_Receive(sLinkID1, msg, &len)))      {        BSP_TOGGLE_LED2(); // jos viestin vastaan otto onnistunut niin punanen ledi p‰‰lle            return 1;     }  }    return 0;}