天嵌 ARM开发社区

 找回密码
 注册
查看: 2069|回复: 4

帮我看下led灯为什么不亮啊?!!!!!

[复制链接]
chen4013874 发表于 2012-7-1 20:56:53 | 显示全部楼层 |阅读模式
我用光盘配套的led驱动和led应用程序,驱动是动态加载的。应用程序怎么跑起来没反应啊?ps:已经照着手册去除了内核自带的led驱动了。
 楼主| chen4013874 发表于 2012-7-1 21:00:39 | 显示全部楼层
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <fcntl.h>      // open() close()
#include <unistd.h>     // read() write()

#define DEVICE_NAME "/dev/GPIO-Control"

//define LED STATUS
#define LED_ON  0
#define LED_OFF 1


//------------------------------------- main ---------------------------------------------
int main(void)
{
        int fd;
        int ret;
        char *i;

        printf("\nstart gpio_led_driver test\n\n");

        fd = open(DEVICE_NAME, O_RDWR);
       
        printf("fd = %d\n",fd);
       

        if (fd == -1)
        {
                printf("open device %s error\n",DEVICE_NAME);
        }
        else
        {
                while(1)
                {        ioctl(fd,LED_OFF,1);
                        sleep(1);//μè′y1&#195;&#235;&#212;ù×&#246;&#207;&#194;ò&#187;2&#189;2ù×÷
                        ioctl(fd,LED_ON,1);
                        sleep(1);

                }
                // close
                ret = close(fd);
                printf ("ret=%d\n",ret);
                printf ("close gpio_led_driver test\n");
        }

        return 0;
}// end main
 楼主| chen4013874 发表于 2012-7-1 21:01:15 | 显示全部楼层
本帖最后由 chen4013874 于 2012-7-1 21:03 编辑

#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <mach/regs-gpio.h>
#include <mach/hardware.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/ioctl.h>
#include <linux/cdev.h>
#include <linux/string.h>
#include <linux/list.h>
#include <linux/pci.h>
#include <asm/uaccess.h>
#include <asm/atomic.h>
#include <asm/unistd.h>


#define DEVICE_NAME "GPIO-Control"

#define IOCTL_GPIO_ON        1
#define IOCTL_GPIO_OFF        0

static unsigned long gpio_table [] =
{
        S3C2410_GPB5,
        S3C2410_GPB6,
        S3C2410_GPB7,
        S3C2410_GPB8,
};

static unsigned int gpio_cfg_table [] =
{
        S3C2410_GPB5_OUTP,
        S3C2410_GPB6_OUTP,
        S3C2410_GPB7_OUTP,
        S3C2410_GPB8_OUTP,
};

static int tq2440_gpio_ioctl(
        struct inode *inode,
        struct file *file,
        unsigned int cmd,
        unsigned long arg)
{
        if (arg > 4)
        {
                return -EINVAL;
        }

        switch(cmd)
        {
                case IOCTL_GPIO_ON:
                        s3c2410_gpio_setpin(gpio_table[arg], 1);
                        return 0;

                case IOCTL_GPIO_OFF:
                        s3c2410_gpio_setpin(gpio_table[arg], 0);
                        return 0;

                default:
                        return -EINVAL;
        }
}

static struct file_operations dev_fops = {
        .owner        =        THIS_MODULE,
        .ioctl        =        tq2440_gpio_ioctl,
};

static struct miscdevice misc = {
        .minor = MISC_DYNAMIC_MINOR,
        .name = DEVICE_NAME,
        .fops = &dev_fops,
};

static int __init dev_init(void)
{
        int ret;

        int i;
       
        for (i = 0; i < 4; i++)
        {
                s3c2410_gpio_cfgpin(gpio_table, gpio_cfg_table);
                s3c2410_gpio_setpin(gpio_table, 0);
        }

        ret = misc_register(&misc);

        printk (DEVICE_NAME" initialized\n");

        return ret;
}

static void __exit dev_exit(void)
{
        misc_deregister(&misc);
}

module_init(dev_init);
module_exit(dev_exit);

MODULE_LICENSE("GPL");
 楼主| chen4013874 发表于 2012-7-1 21:07:08 | 显示全部楼层
ps:加载玩内核和文件系统后 灯是全亮的 不像pdf写的那样2亮2灭的。而且我装在内核模块后,应用没反应。但是用板子上自带的led测试是行的。。。。
 楼主| chen4013874 发表于 2012-7-2 08:33:04 | 显示全部楼层
help!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-25 02:44 , Processed in 1.022500 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表