求给代码加注释!(嵌入式系统设计的一道作业题)

#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;
}
展开
 我来答
百度网友b12a2e039
推荐于2016-05-08 · TA获得超过1533个赞
知道小有建树答主
回答量:819
采纳率:0%
帮助的人:694万
展开全部
#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; // 结束
}
追问
设备驱动源代码比较长所以没截,太感谢了!!
深圳市容大彩晶科技有限公司
2024-11-20 广告
作为深圳市容大彩晶科技有限公司的工作人员,对于公司广告机的功能有一定的了解。公司的广告机是否支持多语言显示,具体需根据产品型号和功能配置来确定。但一般而言,现代广告机通常具备多语言显示的功能,以适应不同国家和地区的需求。建议直接查阅产品说明... 点击进入详情页
本回答由深圳市容大彩晶科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式