DA1458x使用之第一篇——GPIO
//定义一个LED引脚,port为2,pin为5
#define LED_PORT GPIO_PORT_2
#define LED_PIN GPIO_PIN_5
//定义一个KEY引脚,port为2,pin为4
#define KEY_PORT GPIO_PORT_2
#define KEY_PIN GPIO_PIN_4
GPIO_ConfigurePin( LED_PORT, LED_PIN, OUTPUT, PID_GPIO, false );
GPIO_ConfigurePin( KEY_PORT, KEY_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin里一共有四个参数,前两个是port和pin,第三个是指定IO口的输入输出方向,DA1458x的IO口输入输出方向一共有四种,悬空输入,上拉输入,下拉输入,输出(应该是push-pull),不知道为什么没有open drain输出,写软件I2C时不是很方便,以后的帖子里我会说DA1458x软件I2C的实现方法。这里LED就初始化为OUTPUT,KEY初始化为INPUT。
typedef enum {
INPUT = 0,
INPUT_PULLUP = 0x100,
INPUT_PULLDOWN = 0x200,
OUTPUT = 0x300,
} GPIO_PUPD;
最后一个参数是ture或者false,当输入输出方向为输出时,选择IO默认初始化之后的电平,比如为true时,初始化后,IO口就会输出高电平。
3.GPIO输入输出方向为输出时的使用
点亮一个LED
GPIO_SetActive(LED_PORT, LED_PIN);
熄灭LED
GPIO_SetInactive(LED_PORT, LED_PIN);
4.GPIO输入输出方向为输入时的使用
用GPIO_GetPinStatus()来获取指定port和pin的IO的当前输入电平
if(GPIO_GetPinStatus(KEY_PORT, KEY_PIN) == 0)
{
delay(); //加个延时防抖
if(GPIO_GetPinStatus(KEY_PORT, KEY_PIN) == 0)
{
//operation
}
}
5.IO口的使用就这些内容吧,需要注意一点的是如果DA1458x定义了睡眠,如下,
/*Sleep modes*/
#define CFG_EXT_SLEEP
那么当你想要保持输出电平时,就需要先disable睡眠
app_disable_sleep();
这样输出电平才可以保持,不然的话当DA1458x已进入睡眠,IO口就会被释放掉,输出电平就没了。
可以用如下程序恢复睡眠
app_set_extended_sleep();
关于GPIO的部分就写到这里,以后发现不对或者不足的地方,我会及时更新。
DA1458x使用之第一篇——GPIO相关推荐
- s3c2440 ARM9 裸机驱动第一篇-GPIO驱动(汇编)
一 开发环境: 1.ubuntu 2.JZ2440开发板 二 硬件部分 JZ2440开发板上将GPF4-7四个引脚外接LED,从电路图可以得知,IO口为低电平时LED灯亮. 查询s3c2440 数据数 ...
- 单片机学习:第一篇 基于Python的树莓派语音助手
title: 单片机学习:第一篇 基于Python的树莓派语音助手 tags: 树莓派,python,语音助手,百度AIP 目录 一.pyaudio录音 二.语音识别 三.与图灵机器人对话 四.语音合 ...
- 属于窄带噪声的是热噪声_时钟201系列: 非相位噪声的情况 (第一篇)
欢迎来到Silicon Labs(亦称"芯科科技")的新系列博客文章"时钟201"的第一篇内容-非相位噪声的情况-第一部分.我们之前的系列博文"时钟1 ...
- linux的自定义input,Linux Input子系统之第一篇(input_dev/input_handle/input_handler)
Input子系统是linux kernel中与部分外围器件驱动联系比较紧密的模块,常用于Sensor,TP(touch panel),power key等器件的驱动.这类模块有个共同特点:字符设备,且 ...
- 第一篇文章,做个纪念
第一篇文章,做个纪念,这个blog好吗?拭目以待! 转载于:https://blog.51cto.com/197536/88241
- 《Ansible权威指南 》一 第一篇 Part 1 基础入门篇
本节书摘来自华章出版社<Ansible权威指南 >一书中的第1章,第1.1节,李松涛 魏 巍 甘 捷 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 ...
- 研究生第一篇科研论文常犯问题总结
↑ 点击蓝字 关注视学算法 作者丨喻海良,中南大学教授,博士生导师 来源|http://blog.sciencenet.cn/blog-117889-1018759.html 极市导读 本文作者为中南 ...
- Webpack系列-第一篇基础杂记
系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...
- 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)
CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...
最新文章
- 解决SecureCRT中文乱码
- PostgreSQL 批量权限 管理方法
- 彻底理解HashMap及LinkedHashMap
- python调换字符串顺序_python实现指定字符串交换
- regex 正则表达式_使用正则表达式(Regex)删除HTML标签
- win7下搭建小程序服务器,技术开发人员告诉你微信小程序怎么做
- 算术移位的规则及逻辑移动的规则
- 测试学python路线_小蜗分享:Python测试开发全套学习路线
- php bc gmp,php中ipv6转纯数字和反转
- git获取特定的commit
- mysql更新语句使用order by
- java 加载imageview_如何在Android中通过URL加载ImageView? [关闭]
- 【读书笔记】名创优品的101个新零售细节-张桓.杨永朋,品质和供应链是核心竞争力
- Centos无法卸载时处理办法
- 「音视频直播技术」Android下H264解码
- excel冻结窗口_excel中使用快捷方式锁定单元格,冻结某些单元格、公式或单元格...
- 误删除数据恢复 plsql
- 知识图谱问答 | (3) 关系分类概述
- OpenCV OAK-D-S2相机测试
- linux ifcfg-eth0文件丢失,Linux备份ifcfg-eth0文件致使的网络故障问题
热门文章
- 成都旅游住宿购物交通攻略617
- 升级版Python学习教程:SQLAlchemy太庞大,不妨试试这位小清新-Peewee
- gpu z linux版本,GPU-Z 2.13.0发布,可检测到假冒的NVIDIA 显卡
- Windows10电脑底部任务栏无响应解决方法
- JAVA-List排序-Collections.sort()-对象数组(集合)根据某一属性排序
- 小春日记 - 基金初识
- IC China CEF两展联动,半导体产业大国崛起酝酿电子产业升级大幕
- 哪个线上打印平台属于24小时营业的打印店?
- Spark中,RDD概述(五大属性,弹性介绍,5个特性)
- k8s配置Controller Manager出错