Android 将Linux控制台串行端口切换为普通串行端口

Android 将Linux控制台串行端口切换为普通串行端口,android,linux-kernel,Android,Linux Kernel,在Android操作系统上使用串行端口作为GPS功能时,我遇到了一个问题。除了用于控制台的串行端口外,没有可用的串行端口。那么,如何在运行时将控制台串行端口配置为普通串行端口,而不是使用make menuconfig重新编译内核?不确定是否可以完成此操作,但停止控制台相关消息就足够了吗?您可以尝试echo“0”>/proc/sys/kernel/printk或查看“谢谢”,这非常有帮助。但我看到了另一种通过重新映射控制台的解决方法,如下所示。我在自己的平台上尝试,结果是失败,错误为open/de

在Android操作系统上使用串行端口作为GPS功能时,我遇到了一个问题。除了用于控制台的串行端口外,没有可用的串行端口。那么,如何在运行时将控制台串行端口配置为普通串行端口,而不是使用make menuconfig重新编译内核?

不确定是否可以完成此操作,但停止控制台相关消息就足够了吗?您可以尝试
echo“0”>/proc/sys/kernel/printk
或查看“谢谢”,这非常有帮助。但我看到了另一种通过重新映射控制台的解决方法,如下所示。我在自己的平台上尝试,结果是失败,错误为open/dev/tty1/dev/tty0.fp=open(“/dev/tty1”,O_RDONLY”);ioctl(fp,TIOCCONS);关闭(fp);fp=开放(“/dev/tts/0”,O|RDWR | O|NOCTTY | O|NDELAY);如果(fp==-1)退出(0);tcgetattr(fp和选项);cfsetispeed(和选项,B115200);cfsetospeed(和选项,B115200);选项c|u cflag |=(CLOCAL | CREAD);tcsetattr(fp、TCSANOW和选项);写(fp,“你好,世界!\n123”,15);关闭(fp);fp=打开(“/dev/tty0”,仅限Ordu);ioctl(fp,TIOCCONS);关闭(fp);