【发布时间】:2012-12-04 17:14:51
【问题描述】:
如何在内核模块中配置串口。我在初始化模块函数中这样做。相同的配置在用户空间中工作。我正在使用下面的代码来配置串口。
mm_segment_t oldfs;
oldfs = get_fs();
set_fs(KERNEL_DS);
fp = filp_open("/dev/ttyS0",O_RDWR | O_NOCTTY | O_NDELAY);
tty = (struct tty_struct *)fp->private_data;
setting the required configuration(tty->termios)
set_fs(oldfs);
【问题讨论】:
-
你能说出你的目标是什么吗?我很确定内核已经有一个串行端口驱动程序供您使用,请查看
include/linux/serial_core.h以获取使用它的功能,如果您想为使用串行端口的设备编写驱动程序,也许include/linux/serio.h -
感谢您的回复。我的意图是编写一个内核模块,该模块将以 115200 波特率对每个 gpio 中断读取和写入串行端口。为此,我想从我的内核模块中设置波特率和一些 tty 参数。再次感谢
-
hussain,你在这个功能上有什么进展吗?