Вы находитесь на странице: 1из 2

#include <SoftwareSerial.

h>
SoftwareSerial gtSerial(8, 7); // Arduino RX, Arduino TX
#define CMD_BUFF_SIZE 100
volatile int CmdFlag = 0 ;
unsigned char cmd_buff [ CMD_BUFF_SIZE ] ;
int cmd_buff_idx = 0 ;
int msg_len = 0 ;
volatile int F_Flag = 0;
void Receive_String();
void setup()
{
gtSerial.begin(2400); // software serial port
Serial.begin(2400);
}
byte rx_byte = 0; // stores received byte
void loop()
{
int i = 0 ;
unsigned char ch = 0;
Receive_String();
if( CmdFlag )
{
if( strstr((const char *)cmd_buff,"<deepak>"))
{
for( i = 0 ; i < msg_len ; i++ )
{
ch = cmd_buff[i];
gtSerial.write(ch);
Serial.write(ch);
}
}
CmdFlag = 0 ;
}
}

void Receive_String()
{
unsigned char ch = 0;
if (gtSerial.available())
{
ch = gtSerial.read();
if( ( ch == '<' ) || cmd_buff_idx >= CMD_BUFF_SIZE )
{
cmd_buff_idx = 0 ;
F_Flag = 1 ;
}
cmd_buff [ cmd_buff_idx++ ] = ch ;
if ( (ch == '>') && F_Flag )
{
CmdFlag = 1 ;
cmd_buff [ cmd_buff_idx ] = '\0' ;
msg_len = cmd_buff_idx;
cmd_buff_idx = 0 ;
}
}
}

Вам также может понравиться