主题 : 如何初始化gpio口为低电平 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 68590
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2012-04-24
最后登录: 2013-05-02
楼主  发表于: 2012-06-04 17:11

 如何初始化gpio口为低电平

我用的的mini6410.最近写一个电机驱动,发现当设置为输出模式时,在加载驱动模块后(加载前引脚为低电平),总是不能把gpio口的m组的引脚电平设为低电平,下面是初始化函数
static int __init dev_init(void)
{
    int ret;
    {
        unsigned tmp;
        tmp = readl(S3C64XX_GPMCON);/*set GPM port output mode*/
        tmp &= ~(0xffffU);
        tmp |= (0x1111U);
        writel(tmp, S3C64XX_GPMCON);
        
        tmp = readl(S3C64XX_GPMDAT);
        tmp &= ~(0xfU))
        tmp |= (0x0U);
        writel(tmp, S3C64XX_GPMDAT);
        
        /*tmp = readl(S3C64XX_GPMPUD);
        tmp &= ~(0xff);
        tmp |= (0x00);
        writel(tmp,S3C64XX_GPMPUD);*/
    }

    ret = misc_register(&misc);

    printk (DEVICE_NAME"\tinitialized\n");

    return ret;
}