主题:em335 GPIO 设置问题

  共有4453人关注过本帖    
帅哥哟,离线,有人找我吗?
benben
1楼 信息 | 搜索 | 邮箱


加好友 发短信
em335 GPIO 设置问题  发帖心情 Post By:2023-3-2 13:57:00   [只看该作者]


em335  linux系统下,代码如下:

int fd = open("/dev/em335x_gpio", O_RDWR);


int rc = GPIO_OutEnable(fd, 0x4500000);

uint dwPinState = 0xFFFFFFFF;


rc = GPIO_OutClear(fd, 1 << 20);

rc = GPIO_PinState(fd, &dwPinState);        //1

rc = GPIO_OutSet(fd, 1 << 20);

rc = GPIO_PinState(fd, &dwPinState);       //2


问题:1执行完,dwPinState值为ffeff3ff,2执行完,dwPinState值仍然为ffeff3ff。

GPIO_OutSet没有起作用,2执行完,dwPinState的值不应该是fffff3ff吗?

我这么写有什么问题吗?

调用函数用的例程test_gpio.c里的。



  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hzc
2楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2023-3-2 14:37:00   [只看该作者]

你好,每次调用GPIO_PinState之前,都需要给dwPinState赋值(因为调用GPIO_PinState后,dwPinState的值会变为实际G[IO的值)。dwPinState的赋值表示要读取哪几位GPIO,比如0xffffffff,就代表读取全部32位GPIO。具体可以参考光盘中编程手册的说明。

另外读取GPIO的值,只在输入状态才有意义,输出状态下是没有意义的。

[此贴子已经被作者于2023-3-2 14:39:36编辑过]

  单帖管理 | 引用 | 回复 回到顶部

返回首页

em335 GPIO 设置问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: