主题:[求助]ESM8400设置GPIO不生效,如何解决?

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


加好友 发短信
[求助]ESM8400设置GPIO不生效,如何解决?  发帖心情 Post By:9/26/2025 4:47:00 PM   [只看该作者]

GPIO4没有被占用,代码:

int gpio_fd = 0;

uint32_t state = 0xffffffff;


gpio_fd = gpio_open();


gpio_outdisable(gpio_fd, 0xffffffff);

state = 0xffffffff;

gpio_pinstate(gpio_fd, &state);

printf("%x\n", state);            //ff1c3def


gpio_outenable(gpio_fd, 4);

gpio_outset(gpio_fd, 4);


gpio_outdisable(gpio_fd, 0xffffffff);

state = 0xffffffff;

gpio_pinstate(gpio_fd, &state);

printf("%x\n", state);     //ff1c3def



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


加好友 发短信 员工
  发帖心情 Post By:9/26/2025 5:08:00 PM   [只看该作者]

你好,我看代码中是将GPIO4设置为输出后,再设置为输入读取电平。这里将GPIO4设置为输入后,管脚就没有输出能力了,读取到的值只和GPIO4外接的电平有关系,和之前设置的输出没有任何关系了。比如GPIO4悬空的话,那么读取出来的值应该总是1,因为内部有一个47K左右的弱上拉。

[此贴子已经被作者于2025/9/26 17:08:22编辑过]

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


加好友 发短信
  发帖心情 Post By:9/26/2025 5:31:00 PM   [只看该作者]

如果需要设置GPIO4为高电平需要怎么设置呢?只是先调用gpio_outenable函数再调用gpio_outset函数好像不能拉高GPIO4



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


加好友 发短信 员工
  发帖心情 Post By:9/28/2025 9:51:00 AM   [只看该作者]

你好,GPIO4设置为输出高电平的话,就是先调用gpio_outenable,然后再调用gpio_outset。我这边做了测试,通过示波器查看,通过这两个函数是可以将GPIO4设置为输出高电平的。


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

返回首页

[求助]ESM8400设置GPIO不生效,如何解决?

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