ESP8266 non_os串口打印重定向到uart1

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/toopoo/article/details/87970746

通常我们会使用ESP8266的uart0和外设通讯,uart1的RXD1用于和Flash通讯,但是TXD1可以用于打印log。
查看uart.c

void ICACHE_FLASH_ATTR
uart_init_2(UartBautRate uart0_br, UartBautRate uart1_br)
{
    // rom use 74880 baut_rate, here reinitialize
    UartDev.baut_rate = uart0_br;
    UartDev.exist_parity = STICK_PARITY_EN;
    UartDev.parity = EVEN_BITS;
    UartDev.stop_bits = ONE_STOP_BIT;
    UartDev.data_bits = EIGHT_BITS;
	
    uart_config(UART0);
    UartDev.baut_rate = uart1_br;
    uart_config(UART1);
    ETS_UART_INTR_ENABLE();

    // install uart1 putc callback
    os_install_putc1((void *)uart1_write_char);//print output at UART1
}

最后一行就是重定向串口打印。
所以我们只需要在初始化的时候,使用uart_init_2()就可以了。

uart_init_2(115200,115200);
展开阅读全文

DM6446 UART1 485串口问题

04-01

DM6446 UART1 485串口问题rnrnDM6446 UART1 485串口问题开发环境:DTK-6446实验箱,超级终端,6446板子上的485是悬空的rnrnrn最近在调试6446的485串口,遇到问题多多rnrnrn1、寻找6446平台上Montavista下485串口对应的文件,在/dev下有如下文件:ttyS0,ttyS1,ttys0,ttys12、按照常理应该是ttyS1,对应UART1,可运行程序时说No such file or directory.ls -l /dev/ttyS1也报错:rnroot@192.168.1.120:~# ls -l /dev/ttyS1rnls: /dev/ttyS1: No such file or directoryrnrn2、后来一位朋友教我用echo命令测试如下:rnroot@192.168.1.120:~# echo test >/dev/ttyS1rnroot@192.168.1.120:~# cat /dev/ttyS1rntest ——>(收到的数据,正确)rn之后再调用ls -l /dev/ttyS1rnroot@192.168.1.120:~# ls -l /dev/ttyS1rn-rw-r--r-- 1 root root 5 Jun 6 11:54 /dev/ttyS1rn这里主设备号显示5,而且没有次设备号,我不明白。查看了/DOCUMENT/devices.txt,ttyS1主次设备号应该是(4 65)。反正调用程序现在可以打开文件,但串口设置扔报错。。。无法继续了rnrn3、听人说可能是ttys1(小写的s),试着用下,可报错:input/output error.没法用rnrn4、自己建立节点rnmknod com2 c 4 65rn程序里做相应改动,该串口可以打开,设置,写(发)数据,但就是不能读取rnroot@192.168.1.120:~# echo test >/dev/ttyS1rnroot@192.168.1.120:~# cat /dev/ttyS1rn一直等待,读不到数据rn调用程序,程序是边发边收,创建了两个线程。rn如果read为阻塞模式,则终端只看到发,没看到收到数据。rn如果read为非阻塞模式,则终端发送程序报错:rnresources temparary unavaliablern反正也读不到程序里发的数据rnrnrn5、听人说发出去了,串口悬空也许读不到,那我就把收发引脚,7,8脚短接,可结果一样rnrnrn6、如此问题,实在是烦人,希望合众达工程师,或者其他高手给予指导,谢谢!rn 论坛

没有更多推荐了,返回首页