中科蓝汛GPIO操作说明

第一种写法:

GPIO配置输入模式   

//内部上拉
GPIOBDE  |= BIT(4); //数字IO使能: 0为模拟IO, 1 为数字IO
GPIOBDIR |= BIT(4); //控制IO的方向: 0为输出, 1为输入.
GPIOBFEN &= ~BIT(4);//0:当作通用GPIO使用 //1:当作其它功能性IO
GPIOBPU  |= BIT(4); //10K上拉使能

GPIO配置输出模式

GPIOBDE  |= BIT(4); //数字IO使能: 0为模拟IO, 1 为数字IO
GPIOBDIR &= ~BIT(4); //控制IO的方向: 0为输出, 1为输入.
GPIOBFEN &= ~BIT(4);//0:当作通用GPIO使用 //1:当作其它功能性IO
GPIOBSET |= BIT(4); // 将PB4 引脚设置输出高
GPIOBCLR |= BIT(4); // 将PB4 引脚设置输出低
GPIOBDRV &= ~BIT(4); // 小电流 具体看手册
GPIOBDRV |= BIT(4);  // 大电流 具体看手册 

gpio口定义:

 

以AB5681为例:(数据手册 AB568X UserManual.pdf)

 第二种写法:

void gpio_output_h(u8 io_num)
{gpio_t gpio;bsp_gpio_cfg_init(&gpio, io_num);if (gpio.sfr) {gpio.sfr[GPIOxFEN] &= ~BIT(gpio.num);gpio.sfr[GPIOxDE] |= BIT(gpio.num);gpio.sfr[GPIOxDIR] &= ~BIT(gpio.num);gpio.sfr[GPIOxSET] = BIT(gpio.num);//gpio.sfr[GPIOxDRV] &= ~BIT(gpio.num); //小电流gpio.sfr[GPIOxDRV] = BIT(gpio.num); //大电流}
}void gpio_output_l(u8 io_num)
{gpio_t gpio;bsp_gpio_cfg_init(&gpio, io_num);if (gpio.sfr) {gpio.sfr[GPIOxFEN] &= ~BIT(gpio.num);gpio.sfr[GPIOxDE] |= BIT(gpio.num);gpio.sfr[GPIOxDIR] &= ~BIT(gpio.num);gpio.sfr[GPIOxCLR] = BIT(gpio.num);//gpio.sfr[GPIOxDRV] &= ~BIT(gpio.num); //小电流gpio.sfr[GPIOxDRV] = BIT(gpio.num); //大电流}
}void gpio_input(u8 io_num)
{gpio_t gpio;bsp_gpio_cfg_init(&gpio, io_num);if (gpio.sfr) {gpio.sfr[GPIOxFEN] &= ~BIT(gpio.num);gpio.sfr[GPIOxDE] |= BIT(gpio.num);gpio.sfr[GPIOxDIR] &= ~BIT(gpio.num);//gpio.sfr[GPIOxPU] |= BIT(gpio.num);	//内部上拉gpio.sfr[GPIOxPD] |= BIT(gpio.num); //内部下拉}
}

调用

gpio_output_h(IO_PB4);    //输出高电平
gpio_output_l(IO_PB4);    //输出低电平
gpio_input(IO_PB4);       //输入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3DDFA-V3——基于人脸分割几何信息指导下的三维人脸重建

1. 研究背景 从二维图像中重建三维人脸是计算机视觉研究的一项关键任务。在虚拟现实、医疗美容、计算机生成图像等领域中,研究人员通常依赖三维可变形模型(3DMM)进行人脸重建,以定位面部特征和捕捉表情。然而,现有的方…

高并发编程

一台64G内存的服务器QPS可以达到9W,TPS(事务)可以达到5K,每个TPS大约包含18个QPS.只读的话QPS可以达到30~40万.阿里云有相关测试工具、测试方法、测试结果。 1、volatile 保证可见性,禁止指令重排,避免多线…

HTML 基础标签——表单标签<form>

文章目录 1. `<form>` 标签:定义表单容器2. `<input>` 标签:多用途输入控件3. `<textarea>` 标签:多行文本输入框4. `<select>` 标签:下拉选择框5. `<option>` 标签:下拉菜单选项6. `<button>` 标签:按钮元素7. `<label>` 标签…

GraphQL 与 Elasticsearch 相遇:使用 Hasura DDN 构建可扩展、支持 AI 的应用程序

作者&#xff1a;来自 Elastic Praveen Durairaju GraphQL 提供了一种高效且灵活的数据查询方式。本博客将解释 Hasura DDN 如何与 Elasticsearch 配合使用&#xff0c;以实现高性能和元数据驱动的数据访问。 此示例的代码和设置可在此 GitHub 存储库 - elasticsearch-subgraph…

智能座舱相关术语全解及多模态交互在智能座舱中的应用

文章目录 座舱相关术语全解1. 智能座舱2. UFS3. 多模态交互4. 3D虚拟引擎5. AR/VR6. GNSS7. TTS8. DPU9. 摄像头10. 屏幕/显示器11. 音频12. 无线连接13. 其他组件 多模态交互在智能座舱中有以下一些应用 座舱相关术语全解 1. 智能座舱 智能座舱&#xff08;intelligent cabi…

selinux和防火墙

目录 selinux 1、selinux的说明 2、selinux的工作原理 安全上下文四个字段&#xff1a; 访问过程&#xff1a; 3、selinux的启动、关闭与查看 &#xff08;1&#xff09;SELinux三种模式 &#xff08;2&#xff09;修改安全上下文 4、selinux对linux服务的影响 防火墙 …

制氮机分子筛的材质选择

制氮机分子筛的材质选择对于其性能和效率至关重要。作为制氮设备中的核心部件&#xff0c;分子筛承担着将空气中的氮气与氧气有效分离的重任。以下是对制氮机分子筛常用材质的详细探讨&#xff1a; 制氮机分子筛的主要材质 碳分子筛(CMS) 碳分子筛由活性炭经过特殊工艺加工而成…

【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv

改进yolo11-ContextGuidedDown等200全套创新点大全&#xff1a;足球场地区域图像分割系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.28 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展…

Java keytool keystore的相关概念介绍与使用

参考资料 Java证书工具keytool用法总结keytool-简介CA证书介绍与格式转换密钥&#xff0c;私钥&#xff0c;公钥的区分とほほのOpenSSL入門 目录 一. 概念1.1 keystore文件1.2 keytool1.3 非对称加密1.3.1 加密解密1.3.2 数字签名认证1.3.3 通信中的加密与签名过程 1.4 证书格…

MFC图形函数学习04——画矩形函数

MFC中绘制矩形函数是MFC的基本绘图函数&#xff0c;它的大小和位置由左上角和右下角的坐标决定&#xff1b;若想绘制的矩形边框线型、线宽、颜色以及填充颜色都还需要其它函数的配合。 一、绘制矩形函数 原型&#xff1a;BOOL Rectangle(int x1,int y1,int x2,int y2); …

openGauss数据库-头歌实验1-5 修改数据库

一、查看表结构与修改表名 &#xff08;一&#xff09;任务描述 本关任务&#xff1a;修改表名&#xff0c;并能顺利查询到修改后表的结构。 &#xff08;二&#xff09;相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 1.如何查看表的结构&#xff1b; 2.如…

树莓派5实时时钟(RTC)

树莓派5板载一个实时时钟模块。它可以通过 USB-C 电源插口右侧板上的 J5(BAT) 插口进行电池供电。如果没有互联网连接来通过 NTP 获取时间&#xff0c;RTC 可能会很有用。 可以设置唤醒警报&#xff0c;将树莓派5切换到非常低功耗的状态&#xff08;大约3mA&#xff09;。当到达…

分段线性回归

5. 分段线性回归 (Piecewise Linear Regression) 分段线性回归是一种简单的方式&#xff0c;尤其当数据的弧度变化不大但有多个不同趋势段时。可以将数据分为多个区间&#xff0c;每个区间内拟合一条直线。最终的模型是这些直线的组合。 优点&#xff1a;模型简单、易解释&am…

Git下载-连接码云-保姆级教学(连接Gitee失败的解决)

Git介绍 码云连接 一、Git介绍 二、Git的工作机制 下载链接&#xff1a;Git - 下载软件包 三、使用步骤 创建一个wss的文件夹&#xff0c;作为‘工作空间’ 四、连接码云账号 五、连接Gitee失败的解决方法 一、Git介绍 Git是一个免费的、开源的分布式版本控制…

网络工程师的瑞士军刀:深度解析20+常用工具

文章目录 网络工程师的瑞士军刀&#xff1a;深度解析20常用工具一、网络诊断与分析工具1.1 Wireshark1.2 Tcpdump1.3 Ping工具1.4 Tracert&#xff08;Windows&#xff09;/Traceroute&#xff08;Linux&#xff09;1.5 Nslookup 二、网络管理工具2.1 SNMP&#xff08;Simple N…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30目录1. Step Guided Reasoning: Improving Mathematical Reasoning using Guidance Generation and Step Reasoning摘要研究背…

【再谈设计模式】原型模式~复制的魔法师

一、引言 在软件工程、软件开发中&#xff0c;创建对象的过程常常涉及复杂的初始化和配置。在某些情况下&#xff0c;直接复制现有对象比从头开始创建新对象更为高效。原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;允许我们通过复制现有…

【运动的&足球】足球运动员球守门员裁判检测系统源码&数据集全套:改进yolo11-DBBNCSPELAN

改进yolo11-FocalModulation等200全套创新点大全&#xff1a;足球运动员球守门员裁判检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.28 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示…

yocto中一些主要可被改写的函数

以下是 Yocto 中一些主要的可被改写的函数&#xff1a; 1. 源代码获取与准备阶段 do_fetch&#xff1a;从指定位置获取源代码。可用于自定义获取源代码的方式、处理认证或对获取的源进行预处理。do_unpack&#xff1a;解压获取到的源代码包。如果解压格式特殊或解压后需额外处…

React 组件生命周期与 Hooks 简明指南

文章目录 一、类组件的生命周期方法1. 挂载阶段2. 更新阶段3. 卸载阶段 二、函数组件中的 Hooks1. useState2. useEffect3. useContext4. useReducer 结论 好的&#xff0c;我们来详细讲解一下 React 类组件的生命周期方法和函数组件中的钩子&#xff08;hooks&#xff09;。 …