* 导入工程注意事项
工程文件的导入的注意不要有空格和中文字符,例如:C:\Users\Administrator\Desktop\sdk\esp_iot_sdk_v1.3.0* esp8266模组LED灯为什么上电闪一下就灭了?
a,因为esp8266模组的LED接在GPIO2,而此IO与UART1_TX共用,此时模组上电会输出一下打印信息,所以LED会闪直到打印信息输出完毕,LED就灭了。
b,若想查看启动信息的内容,请选择串口调试助手74880的波特率,硬件上把rst拉低再拉高,可以查看启动信息。
c,若想通过串口调试助手发送AT指令,请切换波特率到115200,即可。
* ESP8266启动信息说明?
* 模组发送AT指令无响应?
a,请选择74880的波特率,看下启动日志,把RST复位引脚拉低再拉高,可使用安信可串口调试助手进行查看,aithinker_serial_tool_v1.2.3.7z
b,是否进入flash启动模式,GPIO15下拉,GPIO0,GPIO2上拉?
c,是否烧录了固件?烧录配置flash size大小是否跟WiFi模组的flash一致?
* 如何屏蔽上电打印?
U0TXD默认上电有系统打印,对此敏感应用可通过UART的内部引脚交换功能,在初始化的时候,调用system_uart_swap函数。将 U0TXD、U0RXD 分别于U0RTS(MTDO/GPIO15)、U0CTS (MTCK/GPIO13)交换来屏蔽该上电的系统打印。 交换后,硬件上的下载管脚还是使用U0TXD + U0RXD,通信时需要将MTDO对应接到MCU的RXD,MTCK对应加到MCU的TXD。
* 使用UART1打印日志,如何配置?
UART1只有TX功能,可以在UART0用于通讯时做打印log用。 参考代码如下:
void ICACHE_FLASH_ATTR uart_init_new(void) { // Wait for FIFOs to be emptied UART_WaitTxFifoEmpty(UART0); UART_WaitTxFifoEmpty(UART1); // Configure UART settings UART_ConfigTypeDef uart_config; uart_config.baud_rate = BIT_RATE_74880; uart_config.data_bits = UART_WordLength_8b; uart_config.parity = USART_Parity_None; uart_config.stop_bits = USART_StopBits_1 uart_config.flow_ctrl = USART_HardwareFlowControl_None; uart_config.UART_RxFlowThresh = 120; uart_config.UART_InverseMask = UART_None_Inverse; UART_ParamConfig(UART0, &uart_config); UART_IntrConfTypeDef uart_intr; uart_intr.UART_IntrEnMask = UART_RXFIFO_TOUT_INT_ENA | UART_FRM_ERR_INT_ENA | UART_RXFIFO_FULL_INT_ENA; uart_intr.UART_RX_FifoFullIntrThresh = 100; uart_intr.UART_RX_TimeOutIntrThresh = 2; uart_intr.UART_TX_FifoEmptyIntrThresh = 20; UART_IntrConfig(UART0, &uart_intr); // Set UART1 for printing UART_SetPrintPort(UART1); // Register interrupt handler UART_intr_handler_register(uart0_rx_intr_handler); ETS_UART_INTR_ENABLE(); }* 上电为什么输出乱码?
上电输出乱码是正常的,因为外部晶振选择是26M,请选择74880的波特率,按下复位键或把RST引脚拉低再拉高,可以看到启动信息。可使用安信可串口调试助手进行查看,aithinker_serial_tool_v1.2.3.7z
* 为什么编译sdk的时候会发生irom0_0_seg错误?