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 这样的规则来命名了;
以上这些,已经扩充在我的最新版本中;