例如,我有一个' / dev / a'作为一个cdev。 现在我想写一个模块' b'之前' b'已注册,我需要发送消息给' a'所以' a'将开始。 我曾经在应用程序中通过ioctl()来完成它,但现在我想在模块中执行它' b'。 open()无法在模块中使用,因此如何打开' a'在模块' b'?
答案 0 :(得分:2)
你可以这样打开
struct file* test;
test = filp_open("/dev/targetDevice",O_RDWR,0);
现在正在调用ioctl
test->f_op->unlocked_ioctl(test,IOCTL_MACRO,params);
答案 1 :(得分:0)
要打开设备,您应该在linux中使用开放系统调用并检查可用设备列表,例如/dev/ttyUSB0
或/dev/ttyS0
等,然后打开它,您将获得一个写入和读取的描述符在设备上打开设备进行通信。
int fd;
fd=open(“/dev/ttyUSB0”, O_RDWR);
要了解更多详细信息,请参阅此link。