X2000 Linux 驱动中配置GPIO的上下拉

由于sdk不支持标准gpio api函数int gpio_pull_updown(unsigned gpio,unsigned value),需要用到soc/gpio.h中的int jzgpio_set_func(int port, enum gpio_function func, unsigned long pins)函数。

函数原型如下:

#include<soc/gpio.h> //包含此结构体
enum gpio_function { //gpio功能枚举,提供给gpio功能设置函数使用
GPIO_FUNC_0 = 0x10,
GPIO_FUNC_1 = 0x11,
GPIO_FUNC_2 = 0x12,
GPIO_FUNC_3 = 0x13,
GPIO_OUTPUT0 = 0x14,
GPIO_OUTPUT1 = 0x15,
GPIO_INPUT = 0x16,
GPIO_INT_LO = 0x18,
GPIO_INT_HI = 0x19,
GPIO_INT_FE = 0x1a,
GPIO_INT_RE = 0x1b,
GPIO_INT_MASK_LO = 0x1c,
GPIO_INT_MASK_HI = 0x1d,
GPIO_INT_MASK_FE = 0x1e,
GPIO_INT_MASK_RE = 0x1f,
GPIO_PULL_HIZ = 0x80,
GPIO_PULL_UP = 0xa0,
GPIO_PULL_DOWN = 0xc0,
};

int jzgpio_set_func(int port, enum gpio_function func, unsigned long pins)
功能:设置gpio功能
参数:
port //gpio引脚组别
func //描述gpio引脚功能
pins //gpio引脚
返回值:
成功: 0
失败:负数
举例

设置PC00为上拉:

int gpio_num = 64;

jzgpio_set_func(gpio_num /32, GPIO_PULL_UP, 1<< (gpio_num % 32));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火柴棍mcu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值