arduino nano引脚号_ARDUINO 脚号的命名规则

本文介绍了在移植Nuvoton Arduino核心时,如何处理不同端口命名规则的兼容性问题,通过标准命名与别名系统,确保代码的可移植性。重点讲述了PA/PA_5命名规则的转换和命名策略的选择,以适应官方和非官方库的兼容需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 这样的规则来命名了;

以上这些,已经扩充在我的最新版本中;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值