arduino nano引脚号_ARDUINO 脚号的命名规则
ARDUINO 脚号定义:
Arduino 官方脚号采用数字序号 1,2,3……;但在大多数非官方arduino 移植版本中, 都增加了更容易记忆及具有具有含义的命名规则,让我们能知道对应的端口和位,如:
stm32/EFM32: PA5
代表端口A, bit 5
但在 Nuvoton ARDUINO 中这是例外,因为在Nuvoton StdDriver BSP lib 中 上述表达具有特定的含义,已经将其定义为 Nuvoton 芯片对应GPIO BIT 的bitband 地址, 因此,在Nuvoton arduino 增强核心中,我在端口和bit 之间增加个下划线来避免冲突:
Pn_m
其中:n 端口名称;
m 端口位号;
例如:PA5 标记为 PA_5
有些厂家对端口的编号没有采用类似AVR 的 ABC字符方式来命名,而是采用像51系列的1234数字序列来命名;
这样,在我移植过程中也按这样的规则来定义针脚;
在这方面,Nuvoton 芯片的端口号命名规则有些乱,可能是出于低端产品方便用户替代51,而高端产品又能替代其他厂方的arm ,因此出现了上述两种规则都有,具体是M4/NUC/NANO大部份都是用大写字母 A/B/C来表示,而MINI51/M051采用了类似51相同的命名规则,用数字 1/2/3表示。
因此,在我的Nuvoton arduino中也是按相应的StdDrive lib中的命名方法来命名,如端口号用数字表示的情形:
如 port 0 bit5: 表示为 P0_5;
为什么要基本遵循厂方的命名规则?这是基于这样的考虑:使用者能方便地参考和使用官方的应用代码;
在同一个移植包中有两种表示方式,无论是给开发者还是给实际的使用者带来了混乱,而且我提供样本代码也要区分这两种不同芯片,这同样也不方便,因此在系统中,除按规则命名外,对每个脚,我还建立了一个别名系统,这样我们还可以使用它的别名来提高代码的可移植性, 用户使用标准命名和别名是等价的,如:
PA_5 等价于 P0_5
同样, 在AVR 中 PA5 也是有定义的,对官方版本扩充中,我也是用PA_5 这样的规则来命名了;
以上这些,已经扩充在我的最新版本中;
arduino nano引脚号_ARDUINO 脚号的命名规则相关推荐
- arduino nano引脚号_初识Arduino Nano
Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各种型号的Arduino板)和软件(Arduino IDE,集成开发环境).Arduino是目前世界上最为流行的开源硬件平台之一,越 ...
- 基于Arduino nano 的RDA5807M的收音机(一)
一:准备工作 软件:1.arduino-1.8.8-windows.exe(可去官网直接下载 https://www.arduino.cc/en/Main/Software) 2.串口调试助手 3.串 ...
- arduino nano 的引脚输出脉冲,到底有多快?蚂蚁指挥大象,脉冲控制伺服电机走位的测试。
arduino nano 的引脚输出脉冲,到底有多快? 在loop里只写 digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, LO ...
- Arduino Nano板各脚作用
Arduino Nano 样图和电路图 (样图一) (样图二) (电路图) (引脚分布图) 各引脚作用: 一.二脚:为串口输出输入引脚,板上通过CH340芯片转为了USB信号,方便主机下载程序.通信 ...
- 原理图转换PCB网络丢失常见错误:PCB封装焊盘与原理图管脚号不一致
小白在画PCB时,当把原理图画好后,生成PCB是有时会发现丢失部分网络,明明原理图和封装没错误怎么还会没网络. 明明在原理图U1 16个管脚都有电气网络,怎么到PCB怎么没有了 这时候很有可能是PCB ...
- arduino平衡车超声波_Arduino Nano DIY超声波测距平衡小车源码与资料分享
采用Arduino Nano控制模块制作的超声波测距平衡小车 1.项目概述 因为第一次制作自平衡小车,心里没底,也就没有投入过多的资金,一切按照最小配置进行,所以选择"TT马达", ...
- arduino - pinMode参数1的确定 - 以arduino nano every核心板为例
文章目录 arduino - pinMode参数1的确定 - 以arduino nano every核心板为例 概述 笔记 pins_arduino.h ABX00028-datasheet.pdf ...
- Arduino nano ID门禁卡
本来该文章与2021_5_21完成,由于我今天更新代码时候导致文章被我搞坏了,重新写一遍 一.材料: 1.arduino nano (最近涨价了,推荐大家去买esp32) 2.RFID读卡器 3.9宫 ...
- Arduino Nano+AS608指纹门禁系统
100元制作宿舍指纹门禁系统 效果图: 硬件清单 各个模块连接 程序流程图 驱动文件以及配置烧录环境 驱动文件 配置编译器 局部源码 **演示视频** 更新内容 完整源码下载: 效果图: 这里用的是电 ...
最新文章
- ICS汇编学习笔记——操作数寻址方式
- minikube报错:This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.
- main()与_tmain()区别
- active server pages 错误 asp 0126_最终选型 Blazor.Server:又快又稳!
- cbrgen和setdest数据流生成
- python网络编程--UDP客户端
- 多服务器 elk 搭建 [elasticsearch 7.0 ]
- 设计灵感|引导页设计中如何借助图形来展现场景?
- Titon Toolkit – 非常强大的用户界面组件
- X509证书中RSA公钥的提取与载入
- Jenkins执行.bat 提示不是内部或外部命令
- 一个关于mahout0.5放置位置的错误,,,
- Git和SourceTree配合使用
- ocx注册以及检测(转)
- 日期转换 EEE MMM dd HH:mm:ss zzz yyyy
- C++多线程卡死问题--访问冲突未必崩溃
- Unity开发者的C#内存管理
- Win11亮度无法调节解决方法(在卸载驱动,关闭自适应亮度和修改注册表都行不通的情况下)
- java迭代例子_Java 迭代器的代码实例详解
- ThingsBoard 规则引擎-邮件通知
热门文章
- 预言机私享,Defi实战特训,一场对开放式金融认知新突围来了!
- 关于站内信的开发思路
- Js(二)SyntaxError Cannot use import statement outside a module
- 兔子繁殖问题python编程_C语言编程:兔子繁殖问题
- python爬取小说并下载_python3爬取小说存为文本实现小说下载
- Flume或Kafka和Elasticsearch整合
- 微信扫一扫中的js安全接口域名的配置
- java 随机生成常用汉字_Java代码实现随机生成汉字的方法
- java开发-微信支付
- FRABA绝对值编码器 OCD58-EA00B-1213-S0