当前位置: 首页 > news >正文

中山做企业网站手机优化软件哪个好用

中山做企业网站,手机优化软件哪个好用,江都建设总部网站,一个页面多少钱一、GPIO使用流程图 二、函数介绍 三、GPIO 点亮LED 四、代码下载地址 一、GPIO使用流程图 这个图是官网找到的,ML307R GPIO引脚电平默认为1.8V,需注意和外部电路的电平匹配,具体可参考《ML307R_硬件设计手册_OpenCPU版本适用.pdf》中的描…

一、GPIO使用流程图

二、函数介绍

三、GPIO 点亮LED

四、代码下载地址

一、GPIO使用流程图

这个图是官网找到的,ML307R GPIO引脚电平默认为1.8V,需注意和外部电路的电平匹配,具体可参考《ML307R_硬件设计手册_OpenCPU版本适用.pdf》中的描述。

二、函数介绍

SDK中有一个GPIO常规使用方法的demo程序,GPIO demo提供了GPIO参数设置、输入输出设置、电平设置和中断设置等功能示例程序,可在cm_demo_gpio.c文件中查看

2.1 cm_gpio_cfg_t结构体说明

typedef struct{cm_gpio_mode_e mode;/*!< 不支持*/cm_gpio_direction_e direction;cm_gpio_pull_e pull;
} cm_gpio_cfg_t;

这个主要是看 cm_gpio_direction_e direction;和cm_gpio_pull_e pull

cm_gpio_direction_e direction 是设置GPIO是输入还是输出

/** I/O方向 */
typedef enum{CM_GPIO_DIRECTION_INPUT = 0,CM_GPIO_DIRECTION_OUTPUT,
}cm_gpio_direction_e;

cm_gpio_pull_e pull 是设置上下拉

/** 上/下拉 */
typedef enum{CM_GPIO_PULL_NONE,CM_GPIO_PULL_DOWN,CM_GPIO_PULL_UP,
}cm_gpio_pull_e;

比如我是要控制lED 闪烁,那么可以配置如下

    cm_gpio_cfg_t cfg = {0};cfg.direction = CM_GPIO_DIRECTION_OUTPUT;  //配置成输出cfg.pull = CM_GPIO_PULL_UP;               //上拉

2.2 cm_iomux_set_pin_func 函数介绍

 * @brief IOMUX 设置引脚复用功能** @param [in] pin PIN 定义号* @param [in] fun FUN 定义号**  @return  *    = 0  - 成功 \n*    = -1 - 失败*/
int32_t cm_iomux_set_pin_func(cm_iomux_pin_e pin, cm_iomux_func_e fun);

此函数第一个参数 cm_iomux_pin_e 是一个枚举,代表的是那个管脚,这个要和GPIO功能的管脚区分,比如我这里使用GPIO4 控制LED灯,可以查看 “ML307R_OpenCPU资源综述”手册 ,LED对应的引脚号是16,所以我们选择CM_IOMUX_PIN_16,而不是对应的GPIO4,这里需要注意。

第二个参数是复用功能 ,从下图可以看到GPIO4 是OpenCPU复用功能1,既选择CM_IOMUX_FUNC_FUNCTION1

2.3  cm_gpio_init介绍

/***  @brief 初始化GPIO*  *  @param [in] gpio_num GPIO号*  @param [in] cfg 配置*  *  @return *    = 0 - 成功 \n*    < 0 - 失败, 返回值为错误码*  *  @details 初始化之前一定要先设置引脚复用*/
int32_t cm_gpio_init(cm_gpio_num_e gpio_num, cm_gpio_cfg_t *cfg);

第一个参数是cm_gpio_num_e 是指对应的GPIO,LED控制是使用了 GPIO4,既选择CM_GPIO_NUM_4

第二个参数 cm_gpio_cfg_t,就是上面配置的方向和上下拉

2.4 cm_gpio_set_level函数介绍

/***  @brief 设置输出电平*  *  @param [in] gpio_num GPIO号*  @param [in] level 输出电平*  *  @return *    = 0 - 成功 \n*    < 0 - 失败, 返回值为错误码*  *  @details More details*/
int32_t cm_gpio_set_level(cm_gpio_num_e gpio_num, cm_gpio_level_e level);

这个函数设置对应GPIO 输出高低电平

第一个参数 cm_gpio_num_e  对应的GPIO

第二个参数cm_gpio_level_e 对应的是设置的电平

/** 高低电平 */
typedef enum{CM_GPIO_LEVEL_LOW,CM_GPIO_LEVEL_HIGH,
}cm_gpio_level_e;

2.5 cm_gpio_get_level函数介绍

/***  @brief 读取输入电平*  *  @param [in] gpio_num GPIO号*  @param [out] level 输入电平*  *  @return *    = 0 - 成功 \n*    < 0 - 失败, 返回值为错误码*  *  @details More details*/
int32_t cm_gpio_get_level(cm_gpio_num_e gpio_num, cm_gpio_level_e *level);

这个函数是读对应的GPIO 电平

第一个参数 cm_gpio_num_e  对应的GPIO

第二个参数cm_gpio_level_e 对应的是读的电平

三、GPIO 点亮LED


osTimerId_t gpio_timer_id = NULL;// LED定时器回调函数
void gpio_TimerCallback(void *argument) {static unsigned char i = 0;if(i == 0){cm_gpio_set_level(CM_GPIO_NUM_4, CM_GPIO_LEVEL_LOW);i = 1;}else{cm_gpio_set_level(CM_GPIO_NUM_4, CM_GPIO_LEVEL_HIGH);i = 0;}
}
void gpio_create_timer(void)
{osTimerAttr_t timer_attr = {.name = "Gpio_Timer",
};gpio_timer_id = osTimerNew(gpio_TimerCallback, osTimerPeriodic, NULL, &timer_attr);osTimerStart(gpio_timer_id, 200);
}void gpio_set_output(void)
{cm_gpio_cfg_t cfg = {0};cfg.direction = CM_GPIO_DIRECTION_OUTPUT;cfg.pull = CM_GPIO_PULL_UP;cm_iomux_set_pin_func(CM_IOMUX_PIN_16, CM_IOMUX_FUNC_FUNCTION1);//初始化之前一定要先设置引脚复用cm_gpio_init(CM_GPIO_NUM_4, &cfg);gpio_create_timer();
}void bsp_gpio_init(void)
{gpio_set_output();}

以上就是控制LED灯闪烁,在定时器里面实现 ,实际上是1S闪烁一次

四、代码下载地址

ML307R OpenCPU GPIO使用 代码

http://www.hengruixuexiao.com/news/20299.html

相关文章:

  • php网站开发实例教程源码新浪博客
  • 淘宝网站建设类别免费刷粉网站推广免费
  • 如何做视频卖给网站国际新闻最新消息美国
  • 郑州网站优化外包顾问搜索引擎优化介绍
  • 如何做付费视频网站网站分析
  • 岱山县建设局网站济南网站推广
  • 做aa视频网站网店推广方案范文
  • 网上做调查赚钱的网站国内快速建站
  • 传统网站建设搜索引擎大全网址
  • 成都有哪些比较做网站比较好的免费的网站平台
  • 个人网站建设规划表seo学习网站
  • 做app和网站哪个搜索引擎推广与优化
  • wordpress固定链自定义结构网站优化 seo和sem
  • 网站收缩广告优化教程网
  • 做企业的网站都要准备什么手续新闻头条 今天
  • 极简app制作器seo引擎优化外包公司
  • 柳州专业网站建设加盟营销计划书7个步骤
  • 山西省网站seo专业学校
  • 家具品牌网站在线代理浏览网站免费
  • wordpress做定制T恤的网站深圳企业网站制作
  • wordpress 登录页面百度seo排名培训优化
  • 那个网站做外贸最好简述seo的应用范围
  • 怎样用css做网站北京推广平台
  • 深圳网站和app建设网站制作维护
  • 上海网络平台网站建设seo研究中心南宁线下
  • 网站落地页如何做如何优化推广网站
  • 做网站用什么数据库好用app推广员好做吗
  • 东莞路桥投资发展有限公司浑江区关键词seo排名优化
  • 四平做网站引流推广
  • 怎样学习做网站关于软文营销的案例