免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3383 | 回复: 2
打印 上一主题 下一主题

在内核空间中如何操作串口?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-29 17:43 |只看该作者 |倒序浏览
最近在做开发的时候遇到了一个问题一直搞不明白,想请大家帮忙解决一下。问提是这样的,我需要做一个打印机驱动,驱动实现的功能是:驱动程序接受到用户空间的数据,然后处理数据,最后在驱动中把数据通过串口传输给打印机。我想问的是怎么样在内核驱动中来设置串口的波特率,实现读写的操作???串口的驱动在系统中是已经有了的。

论坛徽章:
0
2 [报告]
发表于 2013-01-02 12:35 |只看该作者
有没有回复一下子啊

论坛徽章:
0
3 [报告]
发表于 2013-01-02 16:10 |只看该作者
可以参照这个注册的函数

static int __init usb_serial_init(void)
{
        int i;
        int result;

        usb_serial_tty_driver = alloc_tty_driver(SERIAL_TTY_MINORS);
        if (!usb_serial_tty_driver)
                return -ENOMEM;

        /* Initialize our global data */
        for (i = 0; i < SERIAL_TTY_MINORS; ++i)
                serial_table[i] = NULL;

        result = bus_register(&usb_serial_bus_type);
        if (result) {
                printk(KERN_ERR "usb-serial: %s - registering bus driver "
                       "failed\n", __func__);
                goto exit_bus;
        }

        usb_serial_tty_driver->owner = THIS_MODULE;
        usb_serial_tty_driver->driver_name = "usbserial";
        usb_serial_tty_driver->name =         "ttyUSB";
        usb_serial_tty_driver->major = SERIAL_TTY_MAJOR;
        usb_serial_tty_driver->minor_start = 0;
        usb_serial_tty_driver->type = TTY_DRIVER_TYPE_SERIAL;
        usb_serial_tty_driver->subtype = SERIAL_TYPE_NORMAL;
        usb_serial_tty_driver->flags = TTY_DRIVER_REAL_RAW |
                                                TTY_DRIVER_DYNAMIC_DEV;
        usb_serial_tty_driver->init_termios = tty_std_termios;
        usb_serial_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD
                                                        | HUPCL | CLOCAL;
        usb_serial_tty_driver->init_termios.c_ispeed = 9600;
        usb_serial_tty_driver->init_termios.c_ospeed = 9600;
        tty_set_operations(usb_serial_tty_driver, &serial_ops);
        result = tty_register_driver(usb_serial_tty_driver);
        if (result) {
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP