Exemple #1
0
void NEC_ReceiveInterrupt(NEC_FRAME f) {
	GPIO_ToggleBits(GPIOD, GPIO_Pin_7);
	char buf[12];
	USART_WriteString("NEC Frame was received : \r\nAddress : ");
	Int2Str(buf, f.Address);
	USART_WriteString(buf);
	USART_WriteString("\r\nCommand : ");
	Int2Str(buf, f.Command);
	USART_WriteString(buf);
	USART_WriteString("\r\n");

	switch (f.Command) {
	case 1:
		GPIO_ToggleBits(GPIOD, GPIO_Pin_12);
		break;
	case 2:
		GPIO_ToggleBits(GPIOD, GPIO_Pin_13);
		break;
	case 3:
		GPIO_ToggleBits(GPIOD, GPIO_Pin_14);
		break;
	case 4:
		GPIO_ToggleBits(GPIOD, GPIO_Pin_15);
		break;
	}
}
Exemple #2
0
unsigned char Modem_Call(TelNr nr)
{
  nr.pos = 0;
  TCC0_wait_us(25);
  //NoNumber
  if(Modem_TelNr(_read, nr) == 11) return 1;

  //--------------------------------------------------DialNumber
	USART_WriteString("AT+FCLASS=8");   //EnablePhone
	USART_WriteByte(0x0D);						  //CR
	TCC0_wait_ms(100);                  //wait
	USART_WriteString("ATD+");		      //CallHeader

  for(nr.pos= 0; ((nr.tel != 11) && (nr.pos < 16)); nr.pos++)
  {
    nr.tel= Modem_TelNr(_read, nr);
    if(nr.tel != 11) USART_WriteByte(nr.tel+48);
  }
  USART_WriteByte(0x0D);						    //CR

  //--------------------------------------------------Wait+HangUp
  LCD_WriteMyFont(16, 119, nr.id);
  TCC0_wait_sec(1);
  unsigned char point_pos = 0;
  for(nr.pos = 0; nr.pos < MO_HANG_UP_TIME; nr.pos++)
  {
    Watchdog_Restart();
    if(point_pos > 5)
    {
      point_pos = 0;
      LCD_ClrSpace(16,119,2,41);
    }
    LCD_WriteMyFont(16, 123 + point_pos * 4, 22);  //...
    point_pos++;
    TCC0_wait_sec(1);
  }
  //DisconnectCall
  USART_WriteString("ATH");
  USART_WriteByte(0x0D);
  TCC0_wait_sec(1);
  LCD_ClrSpace(16,119,2,41);
  return 0;
}
void USART_Cmd_Execute(u8 strBuf[],u8 strlen){
	
	//Collect a string data into strBuf.
	USART_ReceiveCmd(strBuf,strlen);
	
	//new line & carriage return.
	USART_WriteString(newLineCmd);
	
	//Get the USART_Cmd_Type.
	//Select the determined cmd and it's routine to execute.
	switch(USART_Cmd_Switch(strBuf)){
		case USART_CMD_SetPA1:
			USART_WriteString((u8*)"Cmd: Set PA1");
			break;
		case USART_CMD_SetFreq:
			USART_WriteString((u8*)"Cmd: Set Freq");
			break;
		case USART_CMD_Default:
			USART_WriteString((u8*)"Cmd: Default");
			break;
		case USART_CMD_Invalid:
			USART_WriteString((u8*)"Invalid Command!");
			break;
		default:
			break;
	}
	
	//new line & carriage return.
	USART_WriteString(newLineCmd);
	
}
/*=====================================================================================================*/
int main( void )
{
    u8 TrData[10] = {0};
    u8 RrData[7] = {0};

    GPIO_Config();

    USART1_Init();

    while(1) {

        USART_WriteString((u8*)"Waiting for cmommand!\r\n");

        USART_ReceiveStdString(RrData,sizeof(RrData));

        USART_WriteString((u8*)"USART Received: ");
        USART_WriteString(RrData);
        USART_WriteString((u8*)"\n\r");

        if(STR_CMP(RrData,str1,6)) {
            USART_WriteString((u8*)"Relay1 toggle\n\r");
            OUT1 = ~OUT1;
            LED_B = ~LED_B;
        } else if(STR_CMP(RrData,str2,6)) {
            USART_WriteString((u8*)"Relay2 toggle\n\r");
            OUT2 = ~OUT2;
            LED_R = ~LED_R;
        }

        LED_G = ~LED_G;
    }
}