Esempio n. 1
0
File: bsp.c Progetto: xinmulan/RGB
void Bsp_Init(void)
{
   RCC_Configuration();
		/*********************************************************************************************/
    //
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
    //初始化LED灯
		 led_init_com();
		 led_init_io();
	
    //初始化串口
	   UART1_NVIC_Configuration();
     UART1_Configuration();
     UART1_GPIO_Configuration();
	
		 UART2_NVIC_Configuration();
     UART2_Configuration();
     UART2_GPIO_Configuration();
		 //清除标志位,否则第一位会丢失
		 USART_ClearFlag(USART1,USART_FLAG_TC);
		 USART_ClearFlag(USART2,USART_FLAG_TC);
	
		 //初始化输入输出接口
	   Io_Init();
		 
		 //初始化E13_TLL模块
		 /***
		 E13_Io_Init();

		 
		 //配置E13_TLL模块
		 if (E13_Configuration()==1)            //E13模块配置失效,闪烁发送和接受LED灯,进入死循环 
		 {
			 while(1)
			 {
			 Delay_Ms(25);
			 led_on_com_r();
				 led_on_com_t();
			 Delay_Ms(25);
				 led_off_r();
				 led_off_t();

			 }
		 }
		 *///////////////
		 led_on_in_3();                  //点亮IN3作为电源指示灯
		 
		 //初始化flash
		 data_error =Read_Flash(0x0801fc00);
		 communication_over_time =Read_Flash(0x0801f800);
		 communication_miss =Read_Flash(0x0801f400);
		 power_up=Read_Flash(0x0801f000);
		 //Write_Flash(0x0801fc00,0);
		 //Write_Flash(0x0801f800,0);
}
Esempio n. 2
0
void writeWifiSettings()
{
// figure out where settings are
	u32 wfcBase = ReadFlashBytes(0x20, 2) * 8 - 0x400;

// loop through wifi settings and reconstruct data
	int i;
	for(i=0;i<3;i++)
	{
		u8 wifiBlock[256];
		memset(wifiBlock, 0, 256);

// read in the current data (if we don't do this, a new friendcode will have to be generated after saving)
		Read_Flash(wfcBase + (i<<8), (char *)wifiBlock, 256);

		if(WifiData->wfc_enable[i] > 0)
		{
// valid profile
			wifiBlock[0xE7] = 0x00;

// modified from the wifi_arm7 read fuction
			wifiBlock[0xE6] = (WifiData->wfc_enable[i] & 0x0F);

			int n;
			for(n=0;n<16;n++) wifiBlock[0x80+n] = WifiData->wfc_wepkey[i][n];
			for(n=0;n<32;n++) wifiBlock[0x40+n] = WifiData->wfc_ap[i].ssid[n];

			memcpy(&wifiBlock[0xC0], (const void *)&WifiData->wfc_config[i][0], 4);
			memcpy(&wifiBlock[0xC4], (const void *)&WifiData->wfc_config[i][1], 4);
			memcpy(&wifiBlock[0xC8], (const void *)&WifiData->wfc_config[i][3], 4);
			memcpy(&wifiBlock[0xCC], (const void *)&WifiData->wfc_config[i][4], 4);

// very simple subnet function
// assumes they typed it in correctly
			char subnet = 0;
			for(n=0;n<32;n++)
			{
				if((WifiData->wfc_config[i][2] >> n) & 1)
				{
					subnet++;
				}
			}

			wifiBlock[0xD0] = subnet;
		}
		else
		{