前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >100-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-GPIO输出高低电平

100-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-GPIO输出高低电平

作者头像
杨奉武
发布2022-04-29 17:09:51
6560
发布2022-04-29 17:09:51
举报
文章被收录于专栏:知识分享

说明

1,打开芯片数据手册

2,再说一下另一个事情

芯片的引脚是P0, P1, P2...口这样子的, 每个口有16个管脚,

即(P0_0 -- P0_15)  (P1_0 -- P1_15)  (P2_0 -- P2_15) 

手册上面标识的 GPIO0 - GPIO15   其实是 P0_0 -- P0_15

手册上面标识的 GPIO16 - GPIO31 其实是 P1_0 -- P1_15

手册上面标识的 GPIO32 - GPIO47 其实是 P2_0 -- P2_15

设置GPIO3输出高低电平

代码语言:javascript
复制
#include "app.h"
#include "bsp.h"
#include "pad_ec616.h"
#include "gpio_ec616.h"

#define GPIO_PIN_NUMBER    (3) //GPIO编号

#define GPIO_PORT          (GPIO_PIN_NUMBER/16) //在哪个端口上(P0 / P1 / P2)
#define GPIO_PIN           (GPIO_PIN_NUMBER%16) //在端口上的编号

#define GPIO_PAD_INDEX     (14) //引脚对应的PAD地址, 这个看手册哈
#define GPIO_PAD_ALT_FUNC  (PAD_MuxAlt0) //使用其第几功能

void gpio_init(void)
{
    /*配置GPIO的功能*/
    pad_config_t padConfig;
    PAD_GetDefaultConfig(&padConfig);

    padConfig.mux = GPIO_PAD_ALT_FUNC;//设置使用其第几功能
    PAD_SetPinConfig(GPIO_PAD_INDEX, &padConfig);//配置PAD
    PAD_SetPinPullConfig(GPIO_PAD_INDEX, PAD_InternalPullUp);//设置内部上下拉

    /*配置GPIO的输入输出初始化*/
    gpio_pin_config_t config;
    config.pinDirection = GPIO_DirectionOutput;//输出模式
    config.misc.initOutput = 1;//初始输出高电平

    GPIO_PinConfig(GPIO_PORT, GPIO_PIN, &config);//配置
}

int value=0;
void main_entry(void)
{
    BSP_CommonInit();//官方底层初始化函数,默认写上就可以
    gpio_init();
    while (1)
    {
        value  = value+1;
        if(value<10000) GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 1 << GPIO_PIN); //设置GPIO输出高电平
        else if (value<20000) GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 0); //设置GPIO输出低电平
        else if (value<30000) value=0;
    }
}

程序说明

1,首先是配置其GPIO的功能

2,初始化GPIO

3,设置GPIO输出高低电平

输出高电平:  GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 1 << GPIO_PIN);

输出低电平:  GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 0);

按照上面那样子写就可以,不必深究, 因为最终也只不过是配置寄存器的某些位的数据而已.

4,假设设置GPIO19输出高低电平

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
    • 1,打开芯片数据手册
      • 2,再说一下另一个事情
        • 芯片的引脚是P0, P1, P2...口这样子的, 每个口有16个管脚,
        • 即(P0_0 -- P0_15)  (P1_0 -- P1_15)  (P2_0 -- P2_15) 
        • 手册上面标识的 GPIO0 - GPIO15   其实是 P0_0 -- P0_15
        • 手册上面标识的 GPIO16 - GPIO31 其实是 P1_0 -- P1_15
        • 手册上面标识的 GPIO32 - GPIO47 其实是 P2_0 -- P2_15
    • 设置GPIO3输出高低电平
    • 程序说明
      • 1,首先是配置其GPIO的功能
        • 2,初始化GPIO
          • 3,设置GPIO输出高低电平
            • 4,假设设置GPIO19输出高低电平
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档