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 脚号的命名规则相关推荐

  1. arduino nano引脚号_初识Arduino Nano

    Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各种型号的Arduino板)和软件(Arduino IDE,集成开发环境).Arduino是目前世界上最为流行的开源硬件平台之一,越 ...

  2. 基于Arduino nano 的RDA5807M的收音机(一)

    一:准备工作 软件:1.arduino-1.8.8-windows.exe(可去官网直接下载 https://www.arduino.cc/en/Main/Software) 2.串口调试助手 3.串 ...

  3. arduino nano 的引脚输出脉冲,到底有多快?蚂蚁指挥大象,脉冲控制伺服电机走位的测试。

    arduino nano 的引脚输出脉冲,到底有多快? 在loop里只写 digitalWrite(LED_BUILTIN, HIGH);   digitalWrite(LED_BUILTIN, LO ...

  4. Arduino Nano板各脚作用

    Arduino  Nano 样图和电路图 (样图一) (样图二) (电路图) (引脚分布图) 各引脚作用: 一.二脚:为串口输出输入引脚,板上通过CH340芯片转为了USB信号,方便主机下载程序.通信 ...

  5. 原理图转换PCB网络丢失常见错误:PCB封装焊盘与原理图管脚号不一致

    小白在画PCB时,当把原理图画好后,生成PCB是有时会发现丢失部分网络,明明原理图和封装没错误怎么还会没网络. 明明在原理图U1 16个管脚都有电气网络,怎么到PCB怎么没有了 这时候很有可能是PCB ...

  6. arduino平衡车超声波_Arduino Nano DIY超声波测距平衡小车源码与资料分享

    采用Arduino Nano控制模块制作的超声波测距平衡小车 1.项目概述 因为第一次制作自平衡小车,心里没底,也就没有投入过多的资金,一切按照最小配置进行,所以选择"TT马达", ...

  7. arduino - pinMode参数1的确定 - 以arduino nano every核心板为例

    文章目录 arduino - pinMode参数1的确定 - 以arduino nano every核心板为例 概述 笔记 pins_arduino.h ABX00028-datasheet.pdf ...

  8. Arduino nano ID门禁卡

    本来该文章与2021_5_21完成,由于我今天更新代码时候导致文章被我搞坏了,重新写一遍 一.材料: 1.arduino nano (最近涨价了,推荐大家去买esp32) 2.RFID读卡器 3.9宫 ...

  9. Arduino Nano+AS608指纹门禁系统

    100元制作宿舍指纹门禁系统 效果图: 硬件清单 各个模块连接 程序流程图 驱动文件以及配置烧录环境 驱动文件 配置编译器 局部源码 **演示视频** 更新内容 完整源码下载: 效果图: 这里用的是电 ...

最新文章

  1. ICS汇编学习笔记——操作数寻址方式
  2. minikube报错:This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.
  3. main()与_tmain()区别
  4. active server pages 错误 asp 0126_最终选型 Blazor.Server:又快又稳!
  5. cbrgen和setdest数据流生成
  6. python网络编程--UDP客户端
  7. 多服务器 elk 搭建 [elasticsearch 7.0 ]
  8. 设计灵感|引导页设计中如何借助图形来展现场景?
  9. Titon Toolkit – 非常强大的用户界面组件
  10. X509证书中RSA公钥的提取与载入
  11. Jenkins执行.bat 提示不是内部或外部命令
  12. 一个关于mahout0.5放置位置的错误,,,
  13. Git和SourceTree配合使用
  14. ocx注册以及检测(转)
  15. 日期转换 EEE MMM dd HH:mm:ss zzz yyyy
  16. C++多线程卡死问题--访问冲突未必崩溃
  17. Unity开发者的C#内存管理
  18. Win11亮度无法调节解决方法(在卸载驱动,关闭自适应亮度和修改注册表都行不通的情况下)
  19. java迭代例子_Java 迭代器的代码实例详解
  20. ThingsBoard 规则引擎-邮件通知

热门文章

  1. 预言机私享,Defi实战特训,一场对开放式金融认知新突围来了!
  2. 关于站内信的开发思路
  3. Js(二)SyntaxError Cannot use import statement outside a module
  4. 兔子繁殖问题python编程_C语言编程:兔子繁殖问题
  5. python爬取小说并下载_python3爬取小说存为文本实现小说下载
  6. Flume或Kafka和Elasticsearch整合
  7. 微信扫一扫中的js安全接口域名的配置
  8. java 随机生成常用汉字_Java代码实现随机生成汉字的方法
  9. java开发-微信支付
  10. FRABA绝对值编码器 OCD58-EA00B-1213-S0