RK3288 ANDROID5.1串口波特率无法修改

串口波特率在用户空间无法修改,只能在dts current-speed中设定一个,怎么RK这么低级的问题也不解决,请问有补丁吗?

加班到这个点,已经自己解决,这里很让我失望啊,没解决过问题

lushengchu 发表于 2016-10-27 20:11
加班到这个点,已经自己解决,这里很让我失望啊,没解决过问题

你好 请问你是怎么解决的?

本帖最后由 andGo 于 2016-11-14 12:29 编辑

int speed_arr = {B115200,B38400, B19200, B9600, B4800, B2400, B1200, B300, B38400, B19200, B9600, B4800, B2400, B1200, B300};
int name_arr = {115200,38400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9600, 4800, 2400, 1200, 300};
tcgetattr(uartFd,&oldtio);
newtio = oldtio;
cfmakeraw(&newtio);

            for(i = 0; i < sizeof(speed) / sizeof(int); i++)
            {
                    if(baudrate == name_arr[i])
                    {
                            cfsetispeed(&newtio, speed_arr[i]);
                            cfsetospeed(&newtio, speed_arr[i]);
                            break;
                    }
            }

            newtio.c_cflag |= (CLOCAL|CREAD);
            newtio.c_cflag &= ~CSIZE;
            newtio.c_cflag |= CS8;
            newtio.c_cflag &= ~PARENB;
            newtio.c_iflag &= ~INPCK;
            newtio.c_cc[VMIN]=0;
            newtio.c_cc[VTIME] = 0;
            tcflush(uartFd,TCIFLUSH);
            tcsetattr(uartFd,TCSANOW,&newtio);
            //fcntl(uartFd,F_SETFL,FNDELAY);

按这个改[/i][/i][/i]

andGo 发表于 2016-11-14 12:27
int speed_arr = {B115200,B38400, B19200, B9600, B4800, B2400, B1200, B300, B38400, B19200, B9600, …

这个是c文件的代码吗?

这个问题打补丁可以解决, 参考这个

rk3288串口波特率无法更改
http://developer.t-firefly.com/forum.php?mod=viewthread&tid=11723
(出处: Firefly开源社区)

lushengchu 发表于 2016-10-27 20:11
加班到这个点,已经自己解决,这里很让我失望啊,没解决过问题

楼主这个是怎么解决的,我现在也碰到这个问题,求指导?

楼主好,请问这个如何解决的,目前我也遇到这个问题,能否指导一下?