【问题标题】:which function is responsible to receive data in linux "usbserial" driver?哪个函数负责在linux“usbserial”驱动程序中接收数据?
【发布时间】:2018-09-10 10:56:41
【问题描述】:

我浏览了usb-serial.c,这是Linux内核中usbserial模块中的一个源文件。我想在这个驱动程序中实现一些自定义,例如,发生通信(Tx/Rx)时闪烁的 LED。但是,我无法找到负责该通信的功能。我能够找到serial_write,但找不到serial_readserial_receive 或类似名称。有人知道这个驱动程序中的接收数据功能吗?提前谢谢..!

【问题讨论】:

    标签: c linux linux-device-driver embedded-linux usbserial


    【解决方案1】:

    试试usb_serial_generic_read_bulk_callback(来自drivers/usb/serial/generic.c)。我认为这个函数中有port->read_urbs的行基本上是USB读取开始的时候。

    因此,如果您制作自己的该函数版本,则可以将其放入 usb_serial_operations_init 代替 usb_serial_generic_read_bulk_callback

    【讨论】:

    • 你的意思是 read_bulk_callback 和 write_bulk_callback 用于 rx/tx
    • 是的,我可能看错了东西。在 read_balk_callback 函数中,usb_submit_urb 行是进行 USB 读取的内容,基本上 urb 是一个 USB 事务,已设置(在 usb_fill_bulk_urb)然后提交执行(在 sub_submit_urb)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 2020-03-27
    相关资源
    最近更新 更多