NUC980 调用GPIO口出现被复用错误

NUC980 调用GPIO口出现被复用错误

错误提示

Please Check GPIOB4’s multi-function = 0x5
can’t create /sys/class/gpio/gpio36/direction: nonexistent directory

情况说明
Arm主控芯片:NUC980DK61Y
官方提供的linux内核包:官方提供的虚拟机镜像包(里面包含linux内核及交叉编译工具链)
在调用PB4口时,发现此功能已经被复用为uart7

解决方法
通过定位发现GPIO口控制程序位于此文件中在这里插入图片描述
找到配置程序后,在uart7引脚数组中屏蔽PB4对应的0x14编号

//static const unsigned uart7_1_pins[] = {0x16, 0x14}; // tx, rx
static const unsigned uart7_1_pins[] = {0x16}; // tx, rx

或直接注释此引脚数组对应的复用功能选项

                .name = "uart7_0_grp",
                .pins = uart7_0_pins,
                .num_pins = ARRAY_SIZE(uart7_0_pins),
                .func = 0x6,
        },
//      {
//              .name = "uart7_1_grp",
//              .pins = uart7_1_pins,
//              .num_pins = ARRAY_SIZE(uart7_1_pins),
//              .func = 0x5,
//      },
        {
                .name = "uart7_2_grp",
                .pins = uart7_2_pins,
                .num_pins = ARRAY_SIZE(uart7_2_pins),
                .func = 0x5,

为了保险起见,在编译输出的output文件夹中也修改此两处的代码
在这里插入图片描述
修改完成后重新编译,便可正常使用PB4口。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值