中科蓝汛GPIO操作说明

概述

         本篇文章介绍如何使用中科蓝汛AB5681,GPIO管脚使用说明。

一、第一种写法

1)、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上拉使能

2)、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);  // 大电流 具体看手册 

3)、gpio口定义:

4)、以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.xdnf.cn/news/4768.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE 配置文件

配置文件 配置文件排错 1.1 配置基于主机名的 Web 服务器1.2 配置基于端口的 Web 服务器1.3 配置基于IP地址的 Web 服务器1.4 配置账号验证访问1.5 配置 https 加密服务1.6 课后习题 配置文件 配置文件vim里面内容时,用空格分割 #寻找配置文件 [rootlocalhost ~]# r…

笔记整理—linux驱动开发部分(8)framebuffer类设备

framebuffer显示设备。 在应用层直接抽象位向DDR中存放图片。 在操作系统中,将上图分为两个部分:驱动应用。 使用复制的方法效率十分的低,所以有了内存映射方法实现图片的显示。 framebuffer帧(铺满一个屏幕)&#xff…

智慧测绘数字化管理平台建设方案

随着信息技术的飞速发展,测绘地理信息与遥感专业正经历着一场革命性的变革。智慧测绘数字化管理平台的建设,不仅能够提高测绘数据的准确性和实时性,还能为城市规划、环境保护、灾害预防等领域提供强有力的数据支持。本文将探讨智慧测绘数字化…

conda的作用

conda是一个开源的包和环境管理系统,用于安装、管理和切换不同版本的软件包及其依赖项。它不仅支持Python,还适用于R、Ruby等多种编程语言。以下是详细介绍: 多语言支持:conda支持多种编程语言,包括但不限于Python、R、…

测试平台常见前端问题-建议收藏备忘

接下来在使用Element UI开发测试平台前端的过程中,难免会碰到各式各样的问题,因此今天我们主要整理了以下几个常见的问题和解决方案,方便各位能轻松玩转测试平台前端: Element UI更换主题颜色 拉取github资源报错问题解决 nvm管…

NC313 两个数组的交集

NC313 两个数组的交集 添加链接描述 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param nums1 int整型ArrayList * param nums2 int整型ArrayList * return int整型A…

[C++刷题] 基础小知识点(4) abs() exp() 和 输入验证

分析题目, 大多数都是常规操作, 较为特殊的有: 程序需有一定的容错性, 当用户输入非法字符时, 提示用户重新输入。绝对值的实现e^x的实现 首先是 第一点 这里通过cin.fail()流判断是否合法 cin.fail()来判断当前的输入的类型和预期的是否相同,如不同cin.fail()返回…

【大数据学习 | HBASE】hbase的整体架构

hbase的region存储原理图 首先我们看到hbase的组成分为两个大的部分,分别是hmaster和hregionserver,主节点用于协调数据,regionserver用于真正的去管理表,其中regionserver存在多个,他们共同协调管理全有的表&#xff…

民间故事悬疑恐怖故事图片素材哪里找|巨日禄AI|短视频|自媒体

民间故事是中华文化中不可或缺的一部分。近一年制作与分享民间故事短视频深受创作者喜欢,并且这类故事对于普通民众粘性很高,通常点赞评论都很高。对于这类民间故事、中国传统故事、悬疑恐怖故事的文案创作借助短视频平台的高赞文案选题以及大语言模型的…

如何将VMware ESXi中的虚拟机迁移到Workstation

我们前面介绍了如何将VMware workstation中的虚拟机迁移到ESXi中(将OpenWrt 23.05.3部署到VMware ESXi),那怎么将ESXi中的虚拟机迁移到workstation中呢? 首先,我们回顾一下,在将workstation中的虚拟机迁移到…

Linux操作系统开机引导

linux操作系统的开机引导的过程 linux操作系统开机流程图 1、开机自检:根据bios的设置,对cpu、内存、显卡、键盘等设备进行初步检测,如果以上检测设备正常工作,系统会把控制权移交到硬盘 总结:检测包含系统启动操作系…

微信小程序开发,诗词鉴赏app(一)

微信小程序开发,诗词鉴赏app(一): https://blog.csdn.net/jky_yihuangxing/article/details/143501681微信小程序开发,诗词鉴赏app,诗词推荐实现(二):https://blog.csdn.net/jky_yih…

阅读笔记 Contemporary strategy analysis Chapter 15

来源:Robert M. Grant - Contemporary strategy analysis (2018) Chapter 15 Current Trends in Strategic Management Ⅰ Introduction 2018年,商业世界正受到不可预测的力量重塑,包括人工智能的广泛应用、民族主义兴起、国际机构的衰退以…

想唱就唱 2.15.63| 电视免VIP唱K软件,支持手机点歌

想唱就唱是一款实用性强的K歌软件,支持歌曲搜索、歌手搜索及排行榜。软件支持歌曲下载、点歌、插队,还支持手机扫码点歌,功能与KTV软件一致,让用户在家也能享受KTV体验。首次加载较慢,因采用先下载后播放方式。会员版已…

【UE5】一种老派的假反射做法,可以用于移动端,或对反射的速度、清晰度有需求的地方

没想到大家这篇文章呼声还挺高 这篇文章是对它的详细实现,建议在阅读本篇之前,先浏览一下前面的文章,以便更好地理解和掌握内容。 这种老派的假反射技术,适合用于移动端或对反射效果的速度和清晰度有较高要求的场合。该技术通过一…

简单的ATM提款机案例

要求&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body></body> <script>use striclet money100//想要money不重置要放循环外while(tr…

linux perf 环境部署和基本测试(基于Ubuntu20.04)

1,linux 安装perf sudo apt-ge install linux-tools-common sudo apt-get install linux-tools-$(uname -r) linux-tools-generic -y 2 补充安装 sudo apt-get install python3-q-text-as-data 3&#xff0c;perf常用命令 larkubuntu:~$ perf usage: perf [--version] [--hel…

基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 这里实现的是256*256双线性插值到512*512的系统模块 局部放大&#xff1a; 将数据导入到matlab&#xff0c;得到插值效果…

SMBIOS基础

一、INTRODUCTION The System Management BIOS&#xff08;SMBIOS&#xff09;解决了主板和系统供应商如何通过平台固件以标准格式展现其产品信息&#xff0c;这些信息包括CPU/Memory的serial number、manufacture、speed等资料&#xff0c;也有PCIe Devices、USB Device、Red…

网易数据中台实践:高效管理与成本优化的秘密

文章目录 一、数据中台概览二、元数据中心三、数据服务四、全链路数据质量中心五、数据资产管理六、数据中台实施效果 网易通过建立一套统一的数据架构与平台&#xff0c;成功实现了数据的高效管理与应用。剖析网易在互联网产品数据管理工作中的经验与做法&#xff0c;涵盖从数…