中级会员
- 积分
- 499
- 金钱
- 499
- 注册时间
- 2015-10-26
- 在线时间
- 125 小时
|
楼主 |
发表于 2021-4-19 14:00:04
|
显示全部楼层
哥,我没看懂你说的flags参数是什么,我把源码贴上,帮忙看看,谢谢啦
测试APP源码
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <sys/ioctl.h>
- #define CMD_TEST0 _IO('L',0)
- #define CMD_TEST1 _IO('A',1)
- #define CMD_TEST2 _IOW('L',1,int)
- #define CMD_TEST3 _IOW('L',0,int)
- //#define CMD_TEST3 _IOR('L',3,int)
- int main(int argc,char *argv[])
- {
- int fd;
- char buf[64] ={0};
- fd = open("/dev/hello_misc",O_RDWR);
- if(fd < 0)
- {
- perror("open error \n");
- return fd;
- }
-
- while(1)
- {
- ioctl(fd,CMD_TEST2,0);
- sleep(1);
- ioctl(fd,CMD_TEST3,0);
- sleep(1);
- } return 0;
- }
复制代码
CGI源码
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- char *data;
- int leds[2] = {0, 0};
- long m, n;
- int exit=0,i,fd;
- printf("Content-Type:text/html;charset=gb2312\n\n");
- printf("<html>\n");
- printf("<body>\n");
- printf("<title>i.MX6ULL_Title</title> ");
- printf("<h3>i.MX6ULL</h3> ");
- data = getenv("QUERY_STRING");
- printf("<p>receive data:%s</p>",data);
- while(*data != '\0')
- {
- if(*data=='=')
- switch(*(data+1))
- {
- case '1':leds[0]=1;break;
- case '2':leds[1]=1;break;
- default:exit=1;break;
- }
- if(exit == 1)
- break;
- data++;
- }
- fd = open("/dev/hello_misc",0);
- if(fd < 0)
- {
- printf("<p>open fd error=%d\t</p>",fd);
- }
- printf("<p>fd opened %d\t</p>",2);
- for(i=0;i<2;i++)
- {
- if(leds[i]==1)
- printf("<p>%d\t</p>",i+1);
- else
- printf("<p>leds%d\t</p>",6);
- if(fd < 0)
- printf("<p>leds<0%d\t</p>",6);
- else
- {
- printf("<p>leds>0%d\t</p>",6);
- ioctl(fd,leds[i],i);
- }
- }
- printf("</body>\n");
- printf("</html>\n");
- return 0;
- }
复制代码
|
|