嗨,我编写了一个将数据传递给/dev/ttyS0
..的用户应用程序。我使用 php 将数据发送到用户应用程序,然后在用户应用程序中有一个 if else 然后将新数据传递给/dev/ttyS0
..
例如
PHP -> user app - > driver(/dev/ttyS0);
php 将“向上”传递给用户应用程序,然后是用户应用程序,然后它执行 if else 进行字符串比较,当它为真时将新数据(例如 0xff)传递给驱动程序(dev/ttyS0);
我还写了我的第一个 char 驱动程序,它可以读写。这是我关注的网站http://lwn.net/Kernel/LDD3/
现在的问题是.. 是否可以在驱动程序中打开驱动程序?.. 我知道这样做是非常非常错误的.. 但我想制作自己的驱动程序,在内部进行 if else 比较,所以不需要用户应用程序,因此传递数据就像这样:
PHP - > mydriver(which translates the data like my user app does)..
这是我的用户应用程序代码示例..
int main(int argc,char *argv[])
{
unsigned char pCom[2][7]={{0xFF,0x01,0x00,0x08,0x00,0x3F,0x48},
{0xFF,0x01,0x00,0x10,0x00,0x3F,0x50}};
int fd;
int p;
fd=open("/dev/ttyS0",O_RDWR | O_NOCTTY | O_NDELAY);
if(fd<0) exit(1);
set_port(fd);
if(strcmp(argv[1], "go up")==0){
for(p=0; p<8; p++){
write(fd,pCom[0],8);
}
我怎样才能修改我的代码,以便我可以放入我的字符驱动程序?...例如。修改ssize_t (*read)
or ssize_t (*write)
? 或者我可以直接在里面写这个module_init();
你能告诉我我怎么做的样本吗?..
先感谢您..