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); }
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 {