求给代码加注释!(嵌入式系统设计的一道作业题)
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include<sy...
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#define LED_SHOW 10
int fd;
static char *dev_name = "/dev/keypad";
int main(int argc, char **argv)
{
int data = 0, pre_data;
fd = open( dev_name , O_RDWR );
if( !(fd >=0) )
{
printf("%s file open failed\n", dev_name );
exit(-1);
}
printf("\nkeypad App : press the push button see show led - Exit Ctrl-C \n",dev_name);
ioctl(fd,LED_SHOW,1);
while(1)
{
do
{
pre_data = data;
read( fd, (char * )&data, sizeof(data) );
data = (data & 0xff);
}while(data == 0);
if( pre_data == 0)
{
printf("Write %d LED\n",data);
write( fd, (const char *)&data, sizeof((const char )data) );
}
}
close( fd );
return 0;
} 展开
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#define LED_SHOW 10
int fd;
static char *dev_name = "/dev/keypad";
int main(int argc, char **argv)
{
int data = 0, pre_data;
fd = open( dev_name , O_RDWR );
if( !(fd >=0) )
{
printf("%s file open failed\n", dev_name );
exit(-1);
}
printf("\nkeypad App : press the push button see show led - Exit Ctrl-C \n",dev_name);
ioctl(fd,LED_SHOW,1);
while(1)
{
do
{
pre_data = data;
read( fd, (char * )&data, sizeof(data) );
data = (data & 0xff);
}while(data == 0);
if( pre_data == 0)
{
printf("Write %d LED\n",data);
write( fd, (const char *)&data, sizeof((const char )data) );
}
}
close( fd );
return 0;
} 展开
1个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#define LED_SHOW 10
int fd;
static char *dev_name = "/dev/keypad";
int main(int argc, char **argv)
{
int data = 0, pre_data;
fd = open( dev_name , O_RDWR ); // 以读写方式打开文件/dev/keypad(某设备驱动)
if( !(fd >=0) ) // 如果打开失败
{
printf("%s file open failed\n", dev_name ); // 显示失败信息
exit(-1); // 结束进程
}
printf("\nkeypad App : press the push button see show led - Exit Ctrl-C \n",dev_name);
// 显示打开陈宫信息
ioctl(fd,LED_SHOW,1); // ioctl的参数比较复杂,猜测是控制LED输出为1
while(1)
{
do
{
pre_data = data;
read( fd, (char * )&data, sizeof(data) ); // 从设备中读取2字节到data,具体是什么信息要看驱动源代码才知道。
data = (data & 0xff); // 去除高位
}while(data == 0); // 读到0表示结束
if( pre_data == 0)
{
printf("Write %d LED\n",data); // 显示读到的数据
write( fd, (const char *)&data, sizeof((const char )data) ); // 将数据写会驱动,同read,为什么只能推测
}
}
close( fd ); // 关闭文件
return 0; // 结束
}
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#define LED_SHOW 10
int fd;
static char *dev_name = "/dev/keypad";
int main(int argc, char **argv)
{
int data = 0, pre_data;
fd = open( dev_name , O_RDWR ); // 以读写方式打开文件/dev/keypad(某设备驱动)
if( !(fd >=0) ) // 如果打开失败
{
printf("%s file open failed\n", dev_name ); // 显示失败信息
exit(-1); // 结束进程
}
printf("\nkeypad App : press the push button see show led - Exit Ctrl-C \n",dev_name);
// 显示打开陈宫信息
ioctl(fd,LED_SHOW,1); // ioctl的参数比较复杂,猜测是控制LED输出为1
while(1)
{
do
{
pre_data = data;
read( fd, (char * )&data, sizeof(data) ); // 从设备中读取2字节到data,具体是什么信息要看驱动源代码才知道。
data = (data & 0xff); // 去除高位
}while(data == 0); // 读到0表示结束
if( pre_data == 0)
{
printf("Write %d LED\n",data); // 显示读到的数据
write( fd, (const char *)&data, sizeof((const char )data) ); // 将数据写会驱动,同read,为什么只能推测
}
}
close( fd ); // 关闭文件
return 0; // 结束
}
追问
设备驱动源代码比较长所以没截,太感谢了!!
深圳市容大彩晶科技有限公司
2024-11-20 广告
2024-11-20 广告
作为深圳市容大彩晶科技有限公司的工作人员,对于公司广告机的功能有一定的了解。公司的广告机是否支持多语言显示,具体需根据产品型号和功能配置来确定。但一般而言,现代广告机通常具备多语言显示的功能,以适应不同国家和地区的需求。建议直接查阅产品说明...
点击进入详情页
本回答由深圳市容大彩晶科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询