网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月02日漏签0天
嵌入式吧 关注:103,193贴子:467,011
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回嵌入式吧
>0< 加载中...

小白求大神帮助:获得引脚值,二楼附代码,非常感谢!

  • 取消只看楼主
  • 收藏

  • 回复
  • 金色沙滩慢慢飞
  • 导线
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
驱动部分:我这个定义GPG0和GPG9脚为输入脚,初始化为0.但程序调用打印值就都不是0了!我就想获取gpg0和gpg9输入的高电平或低电平,应用程序通过调用ioctl控制GPC6输出脚的值。输出脚现在可以了,但输入的值通过s3c2410_gpio_getpin(S3C2410_GPG9)值不是0啊!求指点 应该怎么弄啊?


  • 金色沙滩慢慢飞
  • 导线
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <asm/arch/regs-gpio.h>
#include <asm/hardware.h>
#include <asm/io.h>
#define DEVICE_NAME "baojing"
#define LED_MAJOR 235
static unsigned long led_table[] = {
S3C2410_GPC6,
S3C2410_GPG0,
S3C2410_GPG9
};
static unsigned int led_cfg_table[] = {
S3C2410_GPC6_OUTP,
S3C2410_GPG0_INP,
S3C2410_GPG9_INP
};
static int qq2440_leds_ioctl(
struct inode *inode,
struct file *file,
unsigned int cmd,
unsigned long arg)
{
if(cmd){
s3c2410_gpio_setpin(led_table[0],0);
}
cmd = s3c2410_gpio_getpin(led_table[1]);
printk("cmd:%d\n",cmd);
cmd = s3c2410_gpio_getpin(led_table[2]); printk("cmd:%d\n",cmd);
printk("\n");
if(cmd){
printk("in if \n");
s3c2410_gpio_setpin(led_table[0],1);
return 1;
}
return 0;
} static struct file_operations qq2440_leds_fops = {
.owner = THIS_MODULE,
.ioctl = qq2440_leds_ioctl,
}; static int __init qq2440_leds_init(void)
{
int ret;
int i;
ret = register_chrdev(LED_MAJOR, DEVICE_NAME, &qq2440_leds_fops);
if (ret < 0) {
printk(DEVICE_NAME " can't register major number\n");
return ret;
}
for(i=0;i<3;i++){
s3c2410_gpio_cfgpin(led_table[i], led_cfg_table[i]); //cfg config
s3c2410_gpio_setpin(led_table[i], 1);
}
printk(DEVICE_NAME " initialized\n");
return 0;
}
static void __exit qq2440_leds_exit(void)
{
unregister_chrdev(LED_MAJOR, DEVICE_NAME);
}
module_init(qq2440_leds_init);
module_exit(qq2440_leds_exit);


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回嵌入式吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示