我想实现一边debug, 一边串口输出信息。但是不知如何实现????
1. 首先 ESP8266 烧写程序 使用的是GPIO2 (UART 1) 是吗??????
2. 为什么初始化中只对uart0 进行设置???
Code: Select all
uart_init_new(void)
{
UART_WaitTxFifoEmpty(UART0);
UART_WaitTxFifoEmpty(UART1);
UART_ConfigTypeDef uart_config;
uart_config.baud_rate = BIT_RATE_115200;//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_TXFIFO_EMPTY_INT_ENA;
uart_intr.UART_RX_FifoFullIntrThresh = 10;
uart_intr.UART_RX_TimeOutIntrThresh = 2;
uart_intr.UART_TX_FifoEmptyIntrThresh = 20;
UART_IntrConfig(UART0, &uart_intr);
UART_SetPrintPort(UART0);
UART_intr_handler_register(uart0_rx_intr_handler);
ETS_UART_INTR_ENABLE();
/*
UART_SetWordLength(UART0,UART_WordLength_8b);
UART_SetStopBits(UART0,USART_StopBits_1);
UART_SetParity(UART0,USART_Parity_None);
UART_SetBaudrate(UART0,74880);
UART_SetFlowCtrl(UART0,USART_HardwareFlowControl_None,0);
*/
}
3. 我调用UART_SetPrintPort(UART1); 改变printf 打印的输出 到UART1 并且修改了uart_init_new(void) 中 涉及UART0 ===uart1
结果运行的时候出现错误
Code: Select all
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 30224, room 16
tail 0
chksum 0x21
load 0x3ffe8000, len 1148, room 8
tail 4
chksum 0x0c
load 0x3ffe8480, len 768, room 4
tail 12
chksum 0x92
4. 如果我不修改 uart_init_new(void) 只是调用 UART_SetPrintPort(UART1); 的话, 模块不会输出信息,无论uart0 还是uart1
5. 如果 什么都不修改,只是调用 uart_init_new(void) 调用printf的时候 UART1(gpio 2) 和UART0 (TXD) 同时输出printf 的数据!!!!!
请问你们这款IC 串口到底是怎么设计的!!!! 还能不能 简单愉快的 让用户使用????