예제 #1
0
void ICACHE_FLASH_ATTR
at_setupCmdIpr(uint8_t id, char *pPara)
{
  at_uartType tempUart;

  pPara++;
  tempUart.baud = atoi(pPara);
  if((tempUart.baud>(UART_CLK_FREQ / 16))||(tempUart.baud == 0))
  {
    at_backError;
    return;
  }
  while(TRUE)
  {
    uint32_t fifo_cnt = READ_PERI_REG(UART_STATUS(0)) & (UART_TXFIFO_CNT<<UART_TXFIFO_CNT_S);
    if((fifo_cnt >> UART_TXFIFO_CNT_S & UART_TXFIFO_CNT) == 0)
    {
      break;
    }
  }
  os_delay_us(10000);
  uart_div_modify(0, UART_CLK_FREQ / tempUart.baud);
  tempUart.saved = 1;
  user_esp_platform_save_param((uint32 *)&tempUart, sizeof(at_uartType));
//  spi_flash_read(60 * 4096, (uint32 *)&upFlag, sizeof(updateFlagType));
//  //  os_printf("%X\r\n",upFlag.flag);
//  //  os_printf("%X\r\n",upFlag.reserve[0]);
//  //  os_printf("%X\r\n",upFlag.reserve[1]);
//  //  os_printf("%X\r\n",upFlag.reserve[2]);
//    upFlag.flag = 1;
//    spi_flash_erase_sector(60);
//    spi_flash_write(60 * 4096, (uint32 *)&upFlag, sizeof(updateFlagType));
//  //  spi_flash_read(60 * 4096, (uint32 *)&upFlag, sizeof(updateFlagType));
  at_backOk;
}
예제 #2
0
void ICACHE_FLASH_ATTR params_save(){
	user_esp_platform_save_param(&esp_param);
}