ESP8266 Developer Zone The Official ESP8266 Forum 2015-11-04T19:43:16+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=1336 2015-11-04T19:43:16+08:00 2015-11-04T19:43:16+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1336&p=4452#p4452 <![CDATA[串口修改 后 程序报错!]]>
我想实现一边debug, 一边串口输出信息。但是不知如何实现????

1. 首先 ESP8266 烧写程序 使用的是GPIO2 (UART 1) 是吗??????
2. 为什么初始化中只对uart0 进行设置???

Code:

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:

 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 串口到底是怎么设计的!!!! 还能不能 简单愉快的 让用户使用????

Statistics: Posted by marhc_seven — Wed Nov 04, 2015 7:43 pm


]]>