Exemple #1
0
void SYS_INIT(void)
{
	LED_INIT();
	LED_FLASH();
	Moto_Init(); 
	LED_FLASH();	
	
	Tim3_Init(500);
	Nvic_Init();
	Uart1_Init(115200);
	
	ANO_TC_I2C2_INIT(0xA6,400000,1,1,3,3);
	MPU6050_Init();

	Spi1_Init();
	Nrf24l01_Init(MODEL_TX2,40);
 	if(Nrf24l01_Check())
		Uart1_Put_String("NRF24L01 IS OK !\r\n");
 	else 									
		Uart1_Put_String("NRF24L01 IS NOT OK !\r\n");
		
	ADC1_Init();
	
	FLASH_Unlock();
	EE_INIT();
	EE_READ_ACC_OFFSET();
	EE_READ_GYRO_OFFSET();
	EE_READ_PID();
	
	Tim3_Control(1);
}
/******************Ö÷³ÌÐò********************************/
void main(void)
{
   Pin_Init();
   T0_Init();
   Uart1_Init();
   Uart2_Init();
   Uart1_AppInit();
   Uart2_AppInit();
   MdTcbInit1();
   MdTcbInit2();
   Global_EI();
   while (1)
   {
      TimeDeal(&Ahu1);
      MdPoll01();
      MdPoll02();
      if (Ahu1.Times.Solo._1msFlag)
      {
         UartTimeOut(&UartAppData1);
         UartTimeOut(&UartAppData2);
	 KeyScanDeal(KeyGet());
	 KeyAllStateDeal(&Ahu1);
	 NumberDisplayScan(&Ahu1);
      }
      DisplayNumber(flag);
      if (Ahu1.Times.Solo._5msFlag)
      {
	 LedOutputScan(&Ahu1);
	 RhDisplayScan(&Ahu1);    
	 TmepDisplayScan(&Ahu1);  
      }
      if (Ahu1.Times.Solo._10msFlag)
      {


      }
      if (Ahu1.Times.Solo._1000msFlag)
      {
	 flag++;
      }
//      Ahu1.Humidity.Solo.SEG_B = 1;
//      Ahu1.Temperature.Solo.SEG_C = 1;
      Ahu1.Times.All[0] = 0;
   }
}
//***********************************************************
void GsmSerialInit(const int BaudRate)
{
     switch (BaudRate)
     {
     //the compiler demands that the value be constant in the function call...
            case 2400:Uart1_Init(2400);break;
            case 4800:Uart1_Init(4800);break;
            case 9600:Uart1_Init(9600);break;
            case 19200:Uart1_Init(19200);break;
            case 38400:Uart1_Init(38400);break;
            case 57600:Uart1_Init(57600);break;
     }
}//GsmSerialInit
Exemple #4
0
void ANO_Remoter_board_Init(void)
{
	u8 data[32]={0};u8 ack[32]={0};
	//中断优先级组别设置
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	
	//初始化系统滴答定时器
	SysTick_Config(SystemCoreClock / 1000);	
	LED_INIT();
	//初始化模拟I2C
	ANO_I2C_Soft::Init();	
	
	//初始化串口1
	Uart1_Init(115200);
	
	//初始化SPI2
	ANO_SPI2::Init();	

	while(nrf.Check()==false);
	//初始化NRF
	nrf.Init(MODEL_RX2,40);
//while(1)
//{
//	//memset(data,0,sizeof(data));
//	data[0]=0x31;data[1]=0x32;data[2]=0x33;
//	nrf.NRF_Tx_Dat(data,ack);
//	nrf.delayms(50);
//}
	//初始化ADC采样
	ADC1_Init();
	
	//解锁flash
	FLASH_Unlock();	
	//初始化虚拟eeprom设置
	EE_Init();	
	
}
void main(void)
{
    /*设置红外输出引脚为推挽输出*/
    P1M1 = 0x00;
    P1M0 = 0x1C;
    
    /*PCA模块初始化*/
    PCA_Init();

    /*Timer定时器初始化*/
    Timer0_Init();
    
    /*串口初始化*/
    Uart1_Init();
    
    /*ADC的初始化*/
    ADC_Init();

    /*打开全局中断标识位*/
    EA = 1;

    /*系统上电,管脚初始化*/
    Signal_LED_PIN   = 0;
    Check_Signal_PIN = 0;

//    #ifdef DEBUG
//        /*启动32HZ和38KHZ方波输出*/
//        T38KHZ_Start();
//        T32HZ_Start();

//        Timer = 0;
//    
//        System_State = 1;
//    #endif

    /*输出初始化成功标识*/
    printf("%s","INIT DONE \r\n");

    while(1)
    {
        /*软件复位,不断电,自动下载*/
        if(System_IAP_REST_PIN == 0) IAP_CONTR = 0x60;
        
/***************************检查系统电极接触状态******************************/
        if(ADC_Timer == 198)
        {
            ADC_Buffer = Get_ADC_Result();
            printf("%d ",ADC_Buffer);
            
            /*清除系统状态*/
            System_State = 0;
            
            if((ADC_Buffer > 140) && (ADC_Buffer <250))
            {
                /*电极接触*/
                System_State = 1;
            }
            if(System_State != System_State_Buffer)
            {
                if(System_State == 0)
                {
                    T32HZ_Stop();
                    T38KHZ_Start();
                }
                else if(System_State == 1)
                {
                    T38KHZ_Stop();
                    T32HZ_Start();
                }
            }
            System_State_Buffer = System_State;
            printf("%d ",System_State_Buffer);
        }
        else if(ADC_Timer == 200)
        {
            ADC_Timer = 0;
        }
/*****************************************************************************/      
         
/************************系统状态为充电电极未接触状态*************************/
        if(System_State == 0)
        {
/*****************************指示灯部分代码程序******************************/
            /*未接触时,指示灯4S亮一次*/
            if(Signal_LED_PIN_Timer < 50)
            {
                Signal_LED_PIN = 1;
            }
            else if(Signal_LED_PIN_Timer >= 3999)
            {
                Signal_LED_PIN_Timer = 0;
                Signal_LED_PIN = 0;
            }
            else
            {
                Signal_LED_PIN = 0;
            }
/*****************************************************************************/

/****************************红外发射部分代码程序*****************************/

            if((IR_Timer >= 0) && (IR_Timer < 50))
            {

                /*全向红外发射序列*/
                /*1*/
                if((IR_Timer >= 0) && (IR_Timer < 3))
                {
                    LED_FF_PIN = 1;
                }
                else if(IR_Timer == 3)
                {
                    LED_FF_PIN = 0; 
                }
                /*0*/
                else if(IR_Timer == 4)
                {
                    LED_FF_PIN = 1;
                }
                else if((IR_Timer >= 5) && (IR_Timer < 7))
                {
                    LED_FF_PIN = 0;
                }
                /*0*/
                else if(IR_Timer == 7)
                {
                    LED_FF_PIN = 1;
                }
                else if((IR_Timer >= 8) && (IR_Timer < 10))
                {
                    LED_FF_PIN = 0;
                }
                /*1*/
                else if((IR_Timer >= 10) && (IR_Timer < 13))
                {
                    LED_FF_PIN = 1;
                }
                else if(IR_Timer == 13)
                {
                    LED_FF_PIN = 0; 
                }
                /*0*/
                else if(IR_Timer == 14)
                {
                    LED_FF_PIN = 1;
                }
                else if((IR_Timer >= 15) && (IR_Timer < 17))
                {
                    LED_FF_PIN = 0;
                }
                /*1*/
                else if((IR_Timer >= 17) && (IR_Timer < 20))
                {
                    LED_FF_PIN = 1;
                }
                else if(IR_Timer == 20)
                {
                    LED_FF_PIN = 0; 
                }
                /*0*/
                else if(IR_Timer == 21)
                {
                    LED_FF_PIN = 1;
                }
                else if((IR_Timer >= 22) && (IR_Timer < 24))
                {
                    LED_FF_PIN = 0; 
                }
                /*1*/
                else if((IR_Timer >= 24) && (IR_Timer < 27))
                {
                    LED_FF_PIN = 1; 
                }
                else
                {
                    LED_FF_PIN = 0;
                }

            }
            else if((IR_Timer >= 50) && (IR_Timer < 100))
            {
                /*左右侧红外发送序列*/
                /*L:0 R:0*/
                if(IR_Timer == 50)
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1;
                }
                else if((IR_Timer >= 51) && (IR_Timer < 53))
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0;  
                }
                /*L:0 R:0*/
                else if(IR_Timer == 53)
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1;
                }
                else if((IR_Timer >= 54) && (IR_Timer < 56))
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0;  
                }
                /*L:1 R:0*/
                /*L:0 R:1*/
                else if(IR_Timer == 56)
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1; 
                }
                else if((IR_Timer >= 57) && (IR_Timer < 59))
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 0;  
                }
                else if(IR_Timer == 59)
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 1; 
                }
                else if(IR_Timer == 60)
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1; 
                }
                else if(IR_Timer == 61)
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 1; 
                }
                else if(IR_Timer == 62)
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0; 
                }
                /*L:0 R:0*/
                else if(IR_Timer == 63)
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1;
                }
                else if((IR_Timer >= 64) && (IR_Timer < 66))
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0;  
                }
                /*L:1 R:1*/
                else if((IR_Timer >= 66) && (IR_Timer < 69))
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1;  
                }
                else if(IR_Timer == 69)
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0;
                }              
                /*L:0 R:0*/
                else if(IR_Timer == 70)
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1;
                }
                else if((IR_Timer >= 71) && (IR_Timer < 73))
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0;  
                }
                /*L:1 R:1*/
                else if((IR_Timer >= 73) && (IR_Timer < 76))
                {
                    LED_L_PIN  = 1;
                    LED_R_PIN  = 1; 
                }
                else
                {
                    LED_L_PIN  = 0;
                    LED_R_PIN  = 0;  
                }
            }
            else if((IR_Timer >= 100))
            {
                IR_Timer = 0;
                LED_FF_PIN = 0;
                LED_L_PIN  = 0;
                LED_R_PIN  = 0;
            }





/*****************************************************************************/

        }

/**************************统状态为充电电极接触状态***************************/
        else if(System_State == 1)
        {

/*****************************指示灯部分代码程序******************************/
            /*接触时,指示灯常量*/
            Signal_LED_PIN = 1;
            Signal_LED_PIN_Timer = 0;
/*****************************************************************************/

/************************发射检测信号部分代码程序*****************************/
            if(Check_Signal_Timer < 190)
            {
                Check_Signal_PIN = 1;
            }
            else if((Check_Signal_Timer >= 197) && (Check_Signal_Timer < 200 ))
            {
                Check_Signal_PIN = 0;
            }
            else if(Check_Signal_Timer >= 200)
            {
                Check_Signal_Timer = 0;
                Check_Signal_PIN = 1;
            }
/*****************************************************************************/
        }  
    }
}
Exemple #6
0
/*
*@功能 主函数入口
*@参数	空
*@返回	空
*/
int main(void)
{
	

	
	
	
	
  /*测试变量部分*/	
	/*******************************************/
	uint8_t t=' ';
	uint8_t usb_code[6]={0x55,0x7A,0xBB,0x01,0x00,0x01};//下位机反复的向上位机发送此命令,用以建立初始化连接
  uint8_t p[6]={0x30,0x31,0x32,0x33,0x34,0x35};
	uint8_t hanzi[11];
	uint8_t *phz;
	uint32_t flash_data;
	uint8_t flash_temp[4];
	uint8_t status;
  uint32_t addr;
	uint8_t nChar;
// 	uint8_t char_buf[50];
// 	uint8_t count;

	uint32_t batt_test=0;
	/*********************************************/
	
	//设置中断向量表的位置在 0x5000,即内部flash的前20K
	NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x5000);		


	
	
	SystemTick_Init();
	NVIC_Configuration();
		

	//按键初始化
	Init_Sw_Key_Io();
 	Exit_Line_Init();	



	EXTILine_Mask(EXTI_Line5);
	EXTILine_Mask(EXTI_Line8);	
	EXTILine_Mask(EXTI_Line15);	

	//长按开机,如果长按不够3m则继续保持关机状态,如果长按3m,则退出停机模式,开机
	WKUP_Init();		
	
	EXTILine_Unmask(EXTI_Line5);
	EXTILine_Unmask(EXTI_Line8);
	EXTILine_Unmask(EXTI_Line15);
	
	
	
  //如果没有进入停机模式,则开启显示
	OLED_WR_Byte(0xAF,OLED_CMD); //开启显示
	
	
  longpress=0;
	stop_flag=0;
	
	SPI_FLASH_Init();
	//正常运行后,显示logo
	OLED_Init();
	SPI_FLASH_Init();	
	
	
	OLED_Clear();	
	OLED_DrawBMP(32,2,48,4,hui);
	OLED_ShowUnite(48,2,"合科技");		
	//delay_ms(800);	




	
	USB_BIT_Init();
	
	//为降低功耗的控制位
	/****************************************/
	bluetooth_control_Init();

	max232_control_Init();

	oled_control_Init();
	OLED_ON;
	
	buzzer_control_Init();
	BUZZER_OFF;

	coil_control_Init();	
	COIL_NO_ACTUATE;
	/****************************************/
	
	





	Init_Timer();
	
	//实时时钟初始化
	RTC_init();
	
	//初始化并启动看门狗
	//iwdg_init();
	
	//串口1 USB初始化及配置
	Uart1_Init();
	USART1_Configuration();
	
	//串口2 RFID初始化及配置
	Uart2_Init();
	USART2_Configuration();	
	
	//串口3 bluetooth初始化及配置
	Uart3_Init();
	USART3_Configuration();	
	bluetooth_Configuration();	//蓝牙的EN和BRST配置
	CLR_BT_EN;	//开启蓝牙
	

	
	
	ADC_GPIO_Configuration();
	ADC_Configuration();
	

	
	//flash区域指针初始化
	//SPI_FLASH_WriteWord(INIT_FLAG,1);   //此次下载清flash
 	SPI_FLASH_WriteWord(INIT_FLAG,0);		  //此次下载不清flash
	
	if(SPI_FLASH_ReadWord(INIT_FLAG) ==0x01)		//当初始化标志等于1,就初始化POINT和ROW
	{
	  mykey_init();		//初始化钥匙操作的头指针 ---如何设定在什么情况下重新设置
	}	
	


	

	
// 	 OLED_ClearArea(0,4,128,6);	
// 	 OLED_ShowUnite(24,4,"初始化蓝牙");		
// 	 mac_query_result=bluetooth_mac();
	
	
	
	
	
	/*延时函数测试*/
	/**********************************************/
// 	GPIO_Configuration();
// 	while(1)
// 	{
// 		GPIO_SetBits(GPIOB,GPIO_Pin_0);
// 		delay_ms(1000);
// 		GPIO_ResetBits(GPIOB,GPIO_Pin_0);
// 		delay_ms(3000);	
// 	}
	/**********************************************/

	
	/*OLED测试*/
	/**********************************************/
//   while(1)
//   {
// 		OLED_Clear();
// 		OLED_ShowChinese(0,0,0);  //中
// 		OLED_ShowChinese(18,0,1); //景
// 		OLED_ShowChinese(36,0,2); //园
// 		OLED_ShowChinese(54,0,3); //电
// 		OLED_ShowChinese(72,0,4); //子
// 		OLED_ShowChinese(90,0,5); //科
// 		OLED_ShowChinese(108,0,6);//技
// 		OLED_ShowString(0,3,"1.3' OLED TEST");
// 		//OLED_ShowString(8,2,"ZHONGJINGYUAN");  
// 	  //OLED_ShowString(20,4,"2014/05/01");  
// 		OLED_ShowString(0,6,"ASCII:");  
// 		OLED_ShowString(63,6,"CODE:");  
// 		OLED_ShowChar(48,6,t);//显示ASCII字符	   
// 		t++;
// 		if(t>'~')
// 			t=' ';
// 		OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值 	
// 			
//     delay_ms(8000);
//     //OLED_Clear();
// 		
// 		OLED_DrawBMP(0,0,128,8,BMP1);  //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
// 		delay_ms(800);
// 		
//     //OLED_Display_On();
//     //delay_ms(800);		
// 		
// 		OLED_DrawBMP(0,0,128,8,BMP2);
// 		delay_ms(800);	
// 		
//    //OLED_Display_Off();	
//    //delay_ms(800);				
//   }
	/**********************************************/
	
	
	
	
	/*OLED+字库测试*/
	/**********************************************/	
// 	phz="字库";
// 	hanzi[0]=*phz;
// 	hanzi[1]=*(phz+1);
// 	hanzi[2]=*(phz+2);
// 	hanzi[3]=*(phz+3);
// 	hanzi[4]=*(phz+4);	
// 	
// 	
// 	OLED_ShowChinese(0,0,"汉");
// 	OLED_ShowChinese(16,0,"字");
// 	
// 	OLED_ShowUnite(0,2,"你很不错");
// 	OLED_ShowUnite(0,4,"ABCDEF");		
// 	OLED_ShowUnite(0,6,"123456");		
	
	
	/**********************************************/	
	
/*
		STM32F103C8串口有3个
		串口1通过USB接充电器,与上位机PC通信
		串口2通过串口读RFID的数据
		串口3通过蓝牙与PDA通信
*/	
	
	
 	/*串口1 USB测试*/
	/**********************************************/
	
// 	while(1)
// 	{
// 		UART1nSendChar(1,"12345",5);
// 		delay_ms(1000);
// 	}
	//UART1nSendChar(1,usb_code,6);	
	
	//USB_Cheak_init();
	
	//Test_Usb_Data();


// 	UART1SendwordHex(1, 0x123456);

//   UART1nSendChar(1,"汉字",5);	

// 	while(1);
	
	/**********************************************/
	
	
	
	
 	/*串口2 RFID测试*/
	/**********************************************/
// 	while(1)
// 	{
// 			OLED_ShowUnite(32,2,"RFID");
// 			delay_ms(1000);	
// 			UART1nSendChar(1,"12345",5);
// 			//OLED_Clear();	    //清屏
// 			nChar =Read_RfidData(2,Rfid_Buff,0xff);
// 			m_UB2;
// 			if(nChar ==5) 
// 			{
// 				if(Rfid_Buff[0]==0&&Rfid_Buff[1]==0&&Rfid_Buff[2]==0&&Rfid_Buff[3]==0)
// 					;
// 				else		//至少有一个不为零
// 				{
// 					UART1nSendChar(1,Rfid_Buff,5);
// 					OLED_ShowNumHex(32,4,Rfid_Buff[0],2,16);
// 					OLED_ShowNumHex(48,4,Rfid_Buff[1],2,16);
// 					OLED_ShowNumHex(64,4,Rfid_Buff[2],2,16);
// 					OLED_ShowNumHex(80,4,Rfid_Buff[3],2,16);
// 					delay_ms(1000);						
// 					break;
// 				}
// 			}
// 	}
// 	while(1);		
	
	
	
	
	
	/**********************************************/	
	
	
	
	
 	/*串口3 bluetooth测试*/
	/**********************************************/
// 	CLR_BT_EN;
// 	CLR_BT_BRTS;
// 	
// 	while(1)
// 	{
// 		UART3nSendChar(3,"012345",6);
// 		delay_ms(1000);
// 	}
// 		while(1)
// 		{
// 			UART3nSendChar(3,"TTM:MAC-?",9);

// 			count=UART3GetCount(3);
// 			UART3nReadChar(3,char_buf,count);
// 			
// 			
// 			
// 			
// 			UART1nSendChar(1,char_buf,count);

// 			delay_ms(1000);
// 		}

	/**********************************************/	
	
	
	/*flash测试*/
	/**********************************************/	
	
	
//   SPI_FLASH_WriteWord(AUTHOR_ROW,0x456789);
// 	
// 	SPI_FLASH_BufferRead(flash_temp,AUTHOR_ROW,4);	
// 	
// 	flash_data=SPI_FLASH_ReadWord(AUTHOR_ROW);

// 	UART1nSendChar(1,flash_temp,4);	
//   
// 	OLED_ShowNum(0,6,flash_data,8,16);	
// 	
// 	//SPI_FLASH_WriteEnable();
//   status=SPI_FLASH_ReadStatusReg();
// 	OLED_ShowNum(112,6,status,1,16);	
	
//  SPI_FLASH_BulkErase();
	
// 	SPI_FLASH_BufferWrite("98765",0x100002,6);
// 	SPI_FLASH_BufferRead(p,0x100002,6);
	
	
// 	SPI_FLASH_Write("98765",0x1f0005,6);
// 	SPI_FLASH_Read(p,0x1f0005,6);	
// 	while(1)
// 	{
// 		UART1nSendChar(1,p,6);	
// 		delay_ms(1000);
// 	}
	
	/**********************************************/	
	


	//菜单测试
	/**********************************************/	
	
  //Main_Lcd_Show();   //主界面显示	
	//Main_Lcd_Show2();	
	
// 	mode=1;
// 	
// 	OLED_ShowChar(0,0,'A');
// 	
// 	OLED_ShowChinese(0,2,"我");
// 	
// 	OLED_ShowUnite(0,4,"你很不错");
// 	
// 	while(1);
// 	
// 	mode=0;
// 	delay_ms(1000);

	//ShowMenu(HsMenu);
	
	
// 	Choose_MenuOp1();

//  Choose_MenuOp4(); 

// 	Choose_MenuOp4_1();
//  Choose_MenuOp4_2();
// 	Choose_MenuOp4_22();
// 	Choose_MenuOp4_3();
// 	Choose_MenuOp4_4();

// 	Choose_MenuOp5();

// 	Choose_MenuOp5_1();
// 	Choose_MenuOp5_3();
// 	Choose_MenuOp5_4();	

// 		while(1)
// 		{
// 			Main_Oled_Time();	
// 			Main_Oled_Power();
// 			delay_ms(1000);
// 		}	

	

// 		while(1);
	/**********************************************/		
	
	
	
	
	
	//蜂鸣器测试
  /**********************************************/	
// 	while(1)
// 	{
// 		BUZZER_OFF;
// 		delay_ms(1000);
// 		
// 		BUZZER_ON;
// 		delay_ms(1500);	
// 	}
	
	/**********************************************/		
	
	
	
	
	
	//协议测试
	/**********************************************/	
	//OLED_Clear();
// 	OLED_ShowUnite(32,2,"通信中..");
// 	OLED_ShowUnite(0,4,"你很不错");
// 	delay_ms(1000);
// 	addr=0xFFFF;
// 	OLED_ShowNumHex(0,6,addr,8,16);
	
	//USB_Cheak_init();
  //USB_transmit();

//  		bluetooth_uart_switch=1;
// 		Test_Usb_Data();
//  		while(1);


	


//   SPI_FLASH_WriteWord(AUTHOR_POINT,AUTHOR_START);		

//   addr= SPI_FLASH_ReadWord(AUTHOR_POINT);   

//   OLED_ShowNum(0,0,addr,8,16);
	/**********************************************/	
	
	
	
	
	//ADC测试
	/**********************************************/		
	
// 	while(1)
// 	{
// 		OLED_Clear();
// 		batt_test=ADC_GetConversionValue(ADC1);
// 		OLED_ShowNum(24,2,batt_test,8,16);
// 		delay_ms(1000);
// 	}
// 	
	
	
	/**********************************************/		
	
	
	
	//定时器2测试
	/**********************************************/
	
	
// 	GPIO_Configuration();
// 	GPIO_ResetBits(GPIOB,GPIO_Pin_6);
// 	delay_ms(10);
// 	GPIO_SetBits(GPIOB,GPIO_Pin_6);
//   g_WaitTimeOut = 0;
//   SetTimer(TIMER_TIMEOUT,1,Do_TimeOut,THREE_MIN);
// 	while(g_WaitTimeOut == 0)
// 	{
// 		GPIO_ResetBits(GPIOB,GPIO_Pin_6);

// 	}	
//   KillTimer(TIMER_TIMEOUT);	
// 	GPIO_SetBits(GPIOB,GPIO_Pin_6);
	
//   g_WaitTimeOut = 0;
//   SetTimer(TIMER_TIMEOUT,10,Do_TimeOut,THREE_MIN);
// 	while(g_WaitTimeOut == 0)
// 	{
// 			nChar =Read_RfidData(2,Rfid_Buff,0xff);
// 			if(nChar ==5)
// 			{
// 					OLED_ShowUnite(32,80,Rfid_Buff);
// 					++rfidrow;
// 					delay_ms(1000);		
// 					for(i=0;i<4;i++)
// 					{
// 							for(k =0;k<40;k++)
// 								msDelay(500);
// 							WritEDAta(CAIMA_START+8*rfidrow+4+i,Rfid_Buff[i]);
// 					}				
// 					break;
// 			}

// 	}	
//   KillTimer(TIMER_TIMEOUT);		
	/**********************************************/	
	
	
	
	
	
	
	
// 	OLED_ClearArea(0,4,128,6);
// 	OLED_ShowUnite(24,4,"初始化完成");		
// 	delay_ms(100);
	
	
	//bluetooth_uart_switch=0;
// 	for(int iter=0;iter<3;iter++)
// 		Power_Cheak();	

  //主循环测试
	g_State=ST_IDLE;
	while(1)																					 
	{   
		switch (g_State)				//g_State是一个全局函数
		{
			
			 case ST_IDLE:    			//#define  ST_IDLE          0XFF
			 ST_Idle();		    			//空闲时做状态检测,可改变g_State
			 break;			
			
			 case ST_USB: 					//#define  ST_USB	          0XFD         
			 USB_transmit();				//USB传输
			 break;
			 	 
// 			 case ST_KEY:
// 			 Key_Trismit();  				//读钥匙的RFID,判断是否已经连接上
// 			 break;
			 
			 case ST_LCDMENU:   		//#define  ST_LCDMENU      0XFA			多选择菜单操作
			 Choose_MenuOp1();
			 break;
			 
			 default:break;

			}
	 }		
}