【Allwinner】---全志GPIO号 计算

全志的GPIO号在 sunxi-gpio.h 中定义

sunxi-gpio.h
1
二、GPIO号定义
#define SUNXI_PA_BASE 0
#define SUNXI_PB_BASE 32
#define SUNXI_PC_BASE 64
#define SUNXI_PD_BASE 96
#define SUNXI_PE_BASE 128
#define SUNXI_PF_BASE 160
#define SUNXI_PG_BASE 192
#define SUNXI_PH_BASE 224
#define SUNXI_PI_BASE 256
#define SUNXI_PJ_BASE 288
#define SUNXI_PK_BASE 320
#define SUNXI_PL_BASE 352
#define SUNXI_PM_BASE 384
#define SUNXI_PN_BASE 416
#define SUNXI_PO_BASE 448
#define AXP_PIN_BASE 1024

三、计算方式
举两个例子

1、PA13
PA 是从0开始定义的,那么就是: 0 +13 = 13

那么 PA13 的GPIO号 就是 GPIO13

2、PE10
PE 是从128开始定义的,那么就是:128 + 10 = 138

那么 PE10 的GPIO号 就是 GPIO138
————————————————
版权声明:本文为CSDN博主「秋知叶i」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:http://blog.csdn.net/weixin_44205779/article/details/109021937

 

 

参考:

【Allwinner】---全志GPIO号 计算 最新最详细_秋知叶i的博客-CSDN博客_全志gpio计算

本文转载于网络 如有侵权请联系删除

相关文章

  • 到处都要核酸,干脆搞这个!

    大家五一假期好。以往五一,我要么出去玩,要么回老家农忙,比如去年回家收油菜。今年情况大家都懂得,到处都是要核酸,就懒得跑了,趁着假期多看点书吧。最近又在研读操作系统方面的东西,回顾了我从一开始学习操作系统至今的整个历程,大致分为了几个阶段:1、是什么?一开始的时候,一下子会有一大批的新名词打过来:进程与线程、进程间通信、虚拟内存、系统调用、中断与异常、同步与异步、锁、文件系统···在这个阶段,主要方式是看书,通过看书去学习弄懂这些概念的意义。然后知道每一个技术名字的含义以及它背后大概是如何实现的。2、怎么做?等弄懂了这些个技术名词的含义,第二阶段,会去研究它们的实现细节,看源码是最常用的方式,不管是开源的Linux,还是(半开源)的Windows,莫不如是。比如探究系统调用的完整链条,比如研究进程创建的完整过程,再比如研究线程切换到底咋切换的···3、总结与反思当同时接触了多个操作系统内核之后,比如我先后学习了Windows内核和Linux内核,进入到第三个阶段,开始会横向对比它们的差异和相通之处,思考操作系统本质到底是什么?比如任务调度要解决的核心问题到底是什么?Windows的异步

  • 电子书丨《数据产品经理宝典:大数据时代如何创造卓越产品》

    ▊《数据产品经理宝典:大数据时代如何创造卓越产品》李阳 著电子书售价:34.5元2020年04月出版“数据”两个字越来越频繁地出现在大家的工作中。一方面,“用数据说话”成为每个互联网从业者必备的“生存技能”;另一方面,一个名为“数据产品经理”的职位成为各大互联网企业的“热招职位”。那么,作为数据产品经理,有了数据应该怎样“用数据说话”?又应该如何让自己具备独特的竞争优势呢?本书内容涵盖了数据产品经理应该知道和掌握的基础知识――从每个优秀的数据产品经理都应当关注的“效率”问题出发,分别从商业知识和技术知识两个角度,针对什么是数据产品、数据产品诉求的产生和类型、数据产品的实现思路与常见技术方案等关键问题进行讲解。本书既是学习指南,又是速查手册,适合具备不同工作背景并正在从事数据产品经理工作的人士阅读,也适合对这一领域感兴趣并希望从事数据产品经理工作的人士阅读。只要你具备求知的热情,本书将为你提供解决问题的思路、方法和工具。▼ 点击阅读原文,立刻下单!

  • 快速获取 Wi-Fi 密码——GitHub 热点速览 v.21.06

    作者:HelloGitHub-小鱼干 还有2天开启春节七天宅家生活,GitHub也凑了一把春节热闹,wifi-password连续霸榜3天,作为一个能快速让你连上Wi-Fi的小工具,春节一定不能少了它的身影,有了它能免你口述Wi-Fi密码的烦恼。春节除了走亲戚,还有什么呢?没错,写寒暑假作业,虽然我们摆脱寒暑假作业已久,但,想想如果你在亲戚朋友面前,如何化文本为手写体,是不是成为亲戚中最靓的“别人家孩子”呢。当然,如果不走亲戚,宅在家,研究下股市,感受下荷包的心跳起伏,ticker便是一个让你在终端炒股,集酷炫和实操为一体。再来感谢上周的@norson小伙伴,感谢点单,记得在本期的点单模块查收你的量化项目。以下内容摘录自微博@HelloGitHub的GitHubTrending及HackerNews热帖(简称HN热帖),选项标准:新发布|实用|有趣,根据项目release时间分类,发布时间不超过14day的项目会标注New,无该标志则说明项目release超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知?1.本周特推1.1快速获取Wi-Fi密码:wifi-password

  • 【Nginx】如何封禁IP和IP段?看完这篇我会了!!

    作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:https://github.com/sunshinelyz/mykit-delay PS:欢迎各位Star源码,也可以pr你牛逼哄哄的代码。写在前面Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流、缓存、黑白名单和灰度发布等等。在之前的文章中,我们已经介绍了Nginx提供的这些功能。小伙伴们可以到【Nginx专题】进行查阅。今天,我们来介绍Nginx另一个强大的功能:禁用IP和IP段。禁用IP和IP段Nginx的ngx_http_access_module模块可以封配置内的ip或者ip段,语法如下:denyIP; denysubnet; allowIP; allowsubnet; #blockallips denyall; #allowallips allowall; 复制如果规则之间有冲突,会以最前面匹配的规

  • Python多线程机制

    今天要跟大家一起来学习一下Python的多线程机制。有两个原因,其一是自己在学习中经常会使用到多线程,其二当然是自己对Python中的多线程并不是很了解。那么,今天和大家一起了解下~Python多线程机制开发多线程的应用系统,是在日常开发中经常会遇到的需求。同时,Python也为多线程系统的开发提供了很好的支持。 大家应该都知道,Python多线程机制是在GIL(GlobalInterpreterLock)全局解释锁的基础上建立的。那么Python为什么需要全局解释锁?为什么需要全局解释锁?我们知道,要支持多线程的话,一个基本的要求就是不同线程对共享资源访问的互斥,所以Python中引入了GIL,当然这是第一个原因。Python中的GIL是一个非常霸道的互斥实现,在一个线程拥有了解释器的访问权之后,其它的所有线程都必须等待它释放解释器的访问权,即使这些线程的下一条指令并不会互相影响。这样的说法也就意味着,无论如何,在同一时间,只能有一个线程能访问Python提供的API。因为单处理器的本质是不可能并行的,这里的同一时间确实对于单处理器是毫无意义的,但是对于多处理器,同一时间,确实可以有

  • CNCF案例研究:作为容器的早期采用者,Spotify从自家制容器编排器迁移到Kubernetes

    CPU利用率提高了两到三倍。服务创建从一个小时变成了几秒或几分钟数以千计的微服务在生产,150多个运行在Kubernetes上行业:娱乐地点:瑞典云类型:私有挑战:效率、扩展、速度产品类型:安装程序使用的CNCF项目包括:Envoy、gRPC、Kubernetes挑战作为微服务和Docker的早期采用者,Spotify已经将运行在其所有VM上的微服务容器化,并使用了名为Helios的自家制容器编排系统。到2017年底,情况变得很清楚,“让一个小团队来开发这些功能,不如采用由一个大得多的社区支持的东西来得有效。”工程、基础设施和运营主管JaiChakrabarti说。解决方案“我们看到了在Kubernetes周围成长起来的令人惊叹的社区,我们想成为其中的一员。”Chakrabarti表示。与Helios同步运行的迁移可能会进展顺利,因为“Kubernetes非常适合作为Helios的补充,现在是它的替代品。”Chakrabarti说。影响“以前,团队必须等一个小时才能创建一个新服务,并让一个运营主机在生产中运行它,但是使用Kubernetes,他们可以在几秒或几分钟内完成这项工作。”网站

  • 常见的用户密码加密方式以及破解方法

    要完全防止信息泄露是非常困难的事情,除了防止黑客外,还要防止内部人员泄密。但如果采用合适的算法去加密用户密码,即使信息泄露出去,黑客也无法还原出原始的密码(或者还原的代价非常大)。也就是说我们可以将工作重点从防止泄露转换到防止黑客还原出数据。本文首发于InfoQ垂直号「聊聊架构」。作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。目前已经曝光的信息泄露事件至少上百起,其中包括多家一线互联网公司,泄露总数据超过10亿条。本文作者就职于携程技术中心信息安全部,文中他将分享用户密码的加密方式以及主要的破解方法。用户密码加密用户密码保存到数据库时,常见的加密方式有哪些,我们该采用什么方式来保护用户的密码呢?以下几种方式是常见的密码保存方式:直接明文保存,比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。使用对称加密算法来保存,比如3DES、AES等

  • 机器人与关键技术解析

    机器人(robot)一词,最早出现在1920年捷克科幻作家恰配克的《罗索姆的万能机器人》中,原文作“Robota”,后来成为英文中通行的“Robot”。更科学的定义是1967年由日本科学家森政弘与合田周平提出的:“机器人是一种具有移动性、个体性、智能性、通用性、半机械半人性、自动性、奴隶性等7个特征的柔性机器。”国际机器人联合会将机器人分为两类,工业机器人和服务机器人。工业机器人是“一种应用于工业自动化的,含有三个及以上的可编程轴的、自动控制的、可编程的、多功能执行机构,它可以是固定式的或移动式的”。服务机器人则是“一种半自主或全自主工作的机器人,它能完成有益于人类健康的服务工作,但不包括从事生产的设备”。从定义可见,分类的标准是机器人的应用场合。一般的机器人都由机械结构、控制驱动系统、感知系统、交互系统等部分组成。图1一般机器人的系统构成近年来工业机器人供应量在大多数行业都呈现出上涨的态势。而服务机器人发展历史较短。其在功能上的主要不同体现在两个方面:一是与人的沟通协作;二是在复杂环境下代替人的部分工作。【发展现状】仿生机器人“机器人”这个名称本身就带有仿生学色彩,目前已有不少类人机

  • [svg翻译教程]椭圆(ellipse元素)和线(line元素)

    line先看个例子,这是svg中最简单的线<svgxmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <linex1="0"y1="10"x2="0"y2="100"style="stroke:#006600;"/> <linex1="10"y1="10"x2="100"y2="100"style="stroke:#006600;"/> <linex1="20"y1="10"x2="100"y2="50"style="stroke:#006600;"/> <linex1="30"y1="10"x2="110"y2="10"style="stroke:#006600;"/> </svg>复制 效果如下 x1,y1定义线条的起点 x2,y2定义线的终点   ellipse 先看看椭圆的例子 <svgxmlns="http://www.w3.org/2000/svg" xmlns:

  • timedelta

    start=datetime(2017,4,12) start+timedelta(10000) Out[65]:datetime.datetime(2044,8,28,0,0)复制

  • SpringBoot集成MQTT的步骤和注意事项

    最近项目用到了mqtt,所以记录下SpringBoot集成MQTT的步骤和注意事项,整理一下知识,方便自己和他人。 一、pom文件里引入maven依赖jar包 <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId> <version>5.3.2.RELEASE</version> </dependency>复制 二、在application.yml配置文件里加入mqtt配置信息 snake: server: mqttAddr:162.11.22.33:1883 mqttUser:admin mqttPwd:111111复制 三、新建配置映射类SnakeServerProperties @Data @Component @ConfigurationProperties(prefix="snake.server") p

  • 总结---Xamarin跨平台移动开发解决方案

     Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、WindowsPhone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。   特点 作为一个跨平台开发框架,Xamarin.Mobile有很多优点。在这一框架内,开发iOS、Android、Windows Phone和MacApp应用可以不用转到Eclipse或者额外购买Mac并使用Xcode,而继续在VisualStudio之中使用C#与.NETFramework进行。 Xamarin是mono项目的一个分支,但这里面最大的区别Xamarin是商业项目.mono做为跨平台的框架已得到越来越多的商业项目的肯定,令外界担心的版权问题\可靠性\稳定性也得到证实,使用mono最大的好处是可以使用其它平台众多的项目解决方案,而不必被限制在windows平台下贫乏而又昂贵的各种解决方案.     工

  • 【计算机】【新兴技术】【区块链技术】我国法定数字货币的发展状况及当前区块链技术应用的现状

    超前探索:2014年,央行内部低调筹建了一个神秘的研究团队。   这个团队挂在央行印制科学技术研究所下面,成立之时,没有挂牌,也没有宣传。   2015年8月6日人民日报发表了一篇题为《比特币难入主流》的署名评论文章。     作者杨涛,当时是中国社会科学院金融研究所所长助理。   2016年1月20日,央行在北京召开了一场数字货币研讨会,会上第一次透露,这个神秘的团队正在研究数字货币。  法定数字货币。     《比特币难入主流》     日本警方近日逮捕了前比特币最大交易所戈克斯山(Mt.Gox)公司首席执行官马克·卡尔普勒,怀疑他牵涉一系列商业欺诈。日本政府表示,将对比特币等虚拟货币进行法律管制,防止其被用于洗钱和恐怖组织筹集资金。  戈克斯山公司曾于去年2月宣布其交易平台受到黑客攻击,85万个比特币被盗取。现在,越来越多的证据表明,这更像是一场监守自盗。日本政府的举动,无疑令愈发“疲软”的比特币市场受到打击,“劣币驱逐良币”的效应愈益为人们所意识。  作为互联网时代的创新货币,人们一开始担心比特币的信息科技风险,后来却发现更需考虑的是操作风险和道德风险。今年

  • if语句

    elif是elseif的缩写,完全可以有多个elif,所以if语句的完整形式就是:if<条件判断1>: <执行1> elif<条件判断2>: <执行2> elif<条件判断3>: <执行3> else: <执行4>复制 if判断条件还可以简写,比如写: ifx: print('True')复制 只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

  • SDUT 3476

    题意:n*m的矩阵,从左上角到右下角每次只能向右一步或者向下一步,问共有多少种走法。   从左上角到右下角一共要走n+m-2步,这其中一定有n-1步是必须要向下走的,但是什么时候向下走是不知道的。c[n+m-2][n-1]代表的意思就是n*m矩阵的走法。   用递推公式:c[n][m]=c[n-1][m]+c[n-1][m-1];   memset(c,0,sizeof(c));//清零很重要 c[0][0]=1;//很重要; for(inti=1;i<=2000;i++)//从1开始 { c[i][0]=1;//很重要,因为它也是一种情况,会影响后面的递推结果; for(intj=1;j<=1000;j++)//从1开始到最大的n; { c[i][j]=(c[i-1][j]+c[i-1][j-1])%1000000007; } }复制   AC代码: #include<iostream> #include<queue> #include<string.h> #include<stdio

  • Git 修改远端仓库地址

    方法有三种:1.修改命令gitremoteset-url origin[url] 例如:gitremoteset-urlorigingitlab@gitlab.chumob.com:php/hasoffer.git 2.先删后加 gitremotermorigingitremoteaddorigin[url]3.直接修改config文件

  • PowerShell 解决红字一闪而过问题

    起因 起初只想在win7上实现pause效果而已 cmd/cpause|out-null 复制 结果只能看到红字一闪而过 打开PowerShellISE进行调试 这次清楚的看到红字提示 "cannotbeloadedbecauserunningscriptsisdisabledonthissystem" 解决方法 管理员权限运行PowerShell Set-ExecutionPolicyRemoteSigned 复制

  • 两个变量的内容交换

    1//最普通的变量交换 2//优点:思路简单 3//缺点:需要多余的存储空间 4voidswap1(int&a,int&b) 5{ 6intc; 7c=a; 8a=b; 9b=c; 10} 11 12//利用加减法的变量交换 13//优点:不需要多余的存储空间 14//缺点:技巧性操作,不容易想到 15voidswap2(int&a,int&b) 16{ 17a=a+b; 18b=a-b; 19a=a-b; 20} 21 22//利用位运算的变量交换 23//优点:不需要多余的存储空间 24//缺点:技巧性操作,不容易想到 25voidswap3(int&a,int&b) 26{ 27a=a^b; 28b=a^b; 29a=a^b; 30}复制  

  • java HashMap

    HashMap的性能因子1.容量:表示桶位的数量。2.初始容量:表在创建是所拥有的桶位数。 如果你知道将要在HashMap存储多少项,创建一个初始容量合适的HashMap将可以避免自动再散列的开销/** *Thedefaultinitialcapacity-MUSTbeapoweroftwo. */ staticfinalintDEFAULT_INITIAL_CAPACITY=1<<4;//默认大小复制 3.尺寸:表中当前存储的项数。 4.负载因子:尺寸/容量。负载因子小的表冲突的可能性小,插入和查找的速度也相对较快(但会减慢使用迭代器进行遍历的过程)。HashMap和HashSet都具有允许你指定负载因子的构造器,表示当负载情况达到负载因子的水平时,容器将自动增加容量。实现方法是使容量加倍,并将现有对象分配到新的桶位集中。 /** *Theloadfactorusedwhennonespecifiedinconstructor. */ staticfinalfloatDEFAULT_LOAD_FACTOR=0.75f;复制   HashMap

  • 单击文字或图片内容放大,弹出框居中显示

    我们想要实现的效果是: 点击一张小图,会在页面的居中位置显示一张大图。 使用了animate动画函数,有从小图到大图,从小图位置到居中位置的轨迹。 支持IE7及以上浏览器,火狐、谷歌浏览器。 大图得居中位置,我主要使用了如下代码: varwidth=$('.alert').find('img').width();//大图得宽高 varheight=$('.alert').find('img').height(); varlwidth=$(window).width();//屏幕中页面可见区域的宽高 varlheight=$(window).height(); varx2=lwidth/2-width/2+$(window).scrollLeft();//在屏幕居中的坐标 vary2=lheight/2-height/2+$(window).scrollTop();复制 这里面加上了滚动条的宽度和高度,这样可以在有滚动条的情况下也是居中显示的。 主要的代码如下: <!DOCTYPEhtml> <htmllang="en"> <head> <

  • springboot 配置

    springboot配置   我们在开发springboot应用时,通常同一个程序会安装到不同环境中,比如:开发、测试、生产及其运维压力测试中。其中连接数据库、服务器地址及接口地址都不邓,每次重复打包都需要浪费时间。通过profile功能 就可以动态对配置进行切换。 二、profile激活方式   1)profile配置文件      A、多profile文件方式       B、yml多文档形式    2)虚拟机参数    3)命令行参数 下面举例说明 1、多profile配置文件方式  1)建立四个profile文件和一个导入类:application.properties、application-dev.properties、application-pro.properties及application-test.properties及springBootProfi

相关推荐

推荐阅读