回复帖子:(benben)em335 GPIO 设置问题

用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
验证码 点击获取验证码
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
  

主题最新回顾(发布时间:2023-3-2 14:37:00)
--  作者:hzc
--  

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

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

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

主题最新回顾(发布时间:2023-3-2 13:57:00)
--  作者:benben
--  em335 GPIO 设置问题


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里的。