设为首页 加入收藏

TOP

Tiny6410-LED驱动
2014-11-24 11:47:39 来源: 作者: 【 】 浏览:1
Tags:Tiny6410-LED 驱动

想写一个tiny6410驱动,通过该驱动可以查看led的开关状态和设置开关。代码是在tiny6410-led驱动代码原有的代码的基础上改的,先贴出一部分关键代码。


static long sbc2440_leds_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
int ioarg,ret;
switch(cmd) {
unsigned tmp;
case 0:
ioarg = ((readl(S3C64XX_GPKDAT) >> 4) & 0XF);
ret = __put_user(ioarg,(int *)arg);
break;
case 1:
tmp = readl(S3C64XX_GPKDAT);
tmp &= ~(1 << (4 + (arg/10)));
tmp |= ( (!(arg%10)) << (4 + (arg/10)) );
writel(tmp, S3C64XX_GPKDAT);
//printk (DEVICE_NAME": %d %d\n", arg, cmd);
return 0;
default:
return -EINVAL;
}
}

应用测试程序关键代码如下
if(argc == 1)
{
ioctl(fd,0,&arg);
printf("led dat: %d\n",arg);
}
else
{

arg=atoi(argv[1]);
ioctl(fd,1,arg);
}

效果图:



把开发板上第二个灯点亮,,读取值为13:即1101.。成功。。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux环境下网络编程杂谈 下一篇Ttiny6410移植boa服务器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Linux 系统监控 的完 (2025-12-27 08:52:29)
·一口气总结,25 个 L (2025-12-27 08:52:27)
·【总结】100个最常用 (2025-12-27 08:52:22)
·有没有哪些高效的c++ (2025-12-27 08:20:57)
·Socket 编程时 Accep (2025-12-27 08:20:54)