📄 test_wg_full.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#define DEVICE_WG "/dev/wgout"
unsigned char wg_hid;
unsigned short wg_pid;
/*
调用说明:
wg_buff[3]
wg_buff[0]:存放HID
wg_buff[1]:存放PID低位
wg_buff[2]:存放PID高位
接收端:
会先接收到 HID 高到--->PID 高位--->
*/
int main(int argc,char *argv[])
{
int fd;
int val=-1;
int ret = 0;
int i;
unsigned char wg_buff[3];
if(argc<4)
{
wg_hid=0x55;
printf("hid is 0x%02x \n",wg_hid);
wg_pid=0xaaaa;
printf("pid is 0x%02x\n",wg_pid);
}
else
{
/*
wg_hid=atoi(argv[1]);
printf("hid is %d \n",wg_hid);
wg_pid=(atoi(argv[2])<<8)+atoi(argv[3]);
printf("pid is %d \n",wg_pid);
*/
wg_hid=0x55;
printf("hid is 0x%02x \n",wg_hid);
wg_pid=0xaaaa;
printf("pid is 0x%02x\n",wg_pid);
}
//总结:应用软件只管按地址用标准函数打开设备文件,系统会自动调用
if((fd=open(DEVICE_WG,O_RDONLY | O_NONBLOCK))<0)
{
perror("can not open device");
exit(1);
}
while(1)
{
printf("\n1:wg_output 0xff,2:out_put 0x00 3:out_put 0x55 4:0xaa 0:quit :");//打印到PC端通信界面,如超级终端
scanf("%d",&val);
if(val==1)
{
//while(1)
//{
wg_buff[0]=0xff;
wg_buff[1]=0xff;
wg_buff[2]=0xff;
ret =ioctl(fd,1,wg_buff);
//sleep(1);
//}
}
else if(val==2)
{
//while(1)
//{
wg_buff[0]=0x12;
wg_buff[1]=0x34;
wg_buff[2]=0x56;
ret =ioctl(fd,1,wg_buff);
//sleep(1);
//}
}
else if(val==3)
{
//while(1)
//{
wg_buff[0]=0x55;
wg_buff[1]=0x55;
wg_buff[2]=0x55;
ret =ioctl(fd,1,wg_buff);
//sleep(1);
//}
}
else if(val==4)
{
//while(1)
//{
wg_buff[0]=0xaa;
wg_buff[1]=0xaa;
wg_buff[2]=0xaa;
ret =ioctl(fd,1,wg_buff);
//sleep(1);
//}
}
else if(val==0) {
close(fd);
exit(0);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -