Firefly开源社区

标题: RK3288串口接手数据问题,原厂bug [打印本页]

作者: lushengchu    时间: 2016-11-5 18:24
标题: RK3288串口接手数据问题,原厂bug
比如电脑发送数据:
abcdefg
,RK芯片不是一次性收到,而是要分两次或者多次,如:
a
bcdefg
虽然总数对,但是收到字符a就上报给上层了,接着再接收bcdefg
不知道有没有补丁?


作者: lushengchu    时间: 2016-11-9 10:59
自己顶一下
作者: buzaiyouyu001    时间: 2016-11-10 19:44
这个是原厂代码把串口的接收buffer设置为1了,把buffer设置为最大就可以了。可以试试
作者: lushengchu    时间: 2016-11-11 11:17
buzaiyouyu001 发表于 2016-11-10 19:44
这个是原厂代码把串口的接收buffer设置为1了,把buffer设置为最大就可以了。可以试试

请问具体是那个,我找了char_revicve函数没有啊,对驱动不是很熟
作者: lushengchu    时间: 2016-12-2 11:33
问题没解决,我在串口代码里看到一个RK工程师留下的邮箱,发邮问了,他叫我自己调

作者: lushengchu    时间: 2016-12-2 11:35
lushengchu 发表于 2016-12-2 11:33
问题没解决,我在串口代码里看到一个RK工程师留下的邮箱,发邮问了,他叫我自己调

1

2016-12-02 11:33:40屏幕截图.png (236.17 KB, 下载次数: 682)

2016-12-02 11:33:40屏幕截图.png

作者: buzaiyouyu001    时间: 2017-1-7 15:30
问题解决了吗?今天扒到以前的代码了
修改文件: kernel\drivers\tty\serial\rk_serial.c
serial_rk_set_termios(struct uart_port *port, struct ktermios *termios,
              struct ktermios *old)
{

        {
            if (termios->c_cflag & CRTSCTS)
                fcr |= UART_FCR_R_TRIG_11;
            else
                fcr |= UART_FCR_R_TRIG_00;
            //修改串口的 FIFO为最大值
            fcr |= UART_FCR_R_TRIG_11;
        }
}

作者: lushengchu    时间: 2017-1-9 10:34
buzaiyouyu001 发表于 2017-1-7 15:30
问题解决了吗?今天扒到以前的代码了
修改文件: kernel\drivers\tty\serial\rk_serial.c
serial_rk_set_ ...

谢谢,我试试看
作者: shiqizheng    时间: 2017-1-13 15:27
停止位改下测试下?
作者: doc    时间: 2021-8-18 14:58
buzaiyouyu001 发表于 2017-1-7 15:30
问题解决了吗?今天扒到以前的代码了
修改文件: kernel\drivers\tty\serial\rk_serial.c
serial_rk_set_ ...

我这边也出现了类似问题,这个方法好用!tks




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1