跑马灯代码修改部分
驱动代码修改部分:
void AllLedOn(int iLed)
{
//读出端口M数据寄存器(S3C64XX_GPKDAT)值,修改并写回相关端口寄存器
//add your code here
unsigned int tmp;
tmp =readl(S3C64XX_GPMDAT);
tmp &= ~(0X1<
应用程序修改部分:
void main()
{
int fd,iLed;
fd=open("/dev/leddev" ,O_RDWR);
if(fd<0)
exit(1);
while(1)
{
//点亮LED跑马灯
ioctl(fd, ON);
}
close (fd);
}
或者将ioctl和主函数代码修改成如下形式2:(ON和OFF的驱动代码不做修改)
static long s3c6410_led_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
int iLed;
switch(cmd)
{
case ON:
//开启LED跑马灯
AllLedOn(arg);
case OFF:
AllLedOff(arg);
break;
}
}
形式2对应应用程序:
void main()
{
int fd,iLed;
fd=open("/dev/leddev" ,O_RDWR);
if(fd<0)
exit(1);
while(1)
{
//点亮LED跑马灯
ioctl(fd,ON,0);
for(int i=0;i<6;i++)
{
ioctl(fd,ON,i);
ioctl(fd,OFF,i);
sleep(5);
}
}
close (fd);
}



