全志科技
直播中

张玉兰

7年用户 1365经验值
私信 关注
[问答]

直接在程序中使用GPIO2021生成下降沿可以吗

  • 譬如调用D1板载16号针角(GPIO10),对应的GPIO_PIN index应该是多少呢?
  • 那么2021该怎么调用呢, export 2021 > export 无效

  • 如果我直接在程序中使用GPIO2021生成下降沿的话,这样用封装好的函数可以吗?
    #include    
    #include    
    #include

    static int GPIO_Point_IN1_fd;
    #define GPIO_Point_IN1 2021
    #define GPIO_Point_Set write(GPIO_Point_IN1_fd, "1", 1)
    #define GPIO_Point_ReSet write(GPIO_Point_IN1_fd, "0", 1)
    #define delay_us(x)  (usleep(x))
    void falling_edge(void) {
      GPIO_Point_IN1_fd = GPIO_Point_IN1;
      GPIO_Point_Set;
      delay_us(100);
      GPIO_Point_ReSet;
    }



回帖(3)

李雅文

2021-12-28 15:09:43
根据帖https://bbs.aw-ol.com/topic/336/的图
GPIO10   SOCNO  为 PB9  对应的 在Tina中的命名规范 PB0 为32 + 9 = 41
所以需要向/sys/class/gpio/export 写入 41
之后会生成  GPIO41 的文件夹
检查/sys/class/gpio/gpio41/direction 是否为 out
如果是,则可以给/sys/class/gpio/gpio41/value 写入 0  则为低电平。
举报

张红梅

2021-12-28 15:10:03
查看原理图 GPIO10 的SOCNO 应该是 PP1

PIN10 才是 PB9  PB9 默认被用作 UART0 当然不可以打开了
PP1 对应的编号为  GPIO2021  (因为 PPx 是用芯片扩展出来的 GPIO 默认从2020开始)
举报

庞晓瑜

2021-12-28 15:11:23
不可以,因为我上传的代码没有并入 Tina SDK ,所以你需要包含我的头文件,才能使用我这种方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分