PIC 微控制器有 3 个基本寄存器来设置 GPIO(通用 I/O)引脚状态。它们是: TRIS(Tri-status,方向寄存器。将引脚设置为输入或输出) PORT(输入缓冲器) LAT(锁存器,输出缓冲器)。
端口可以是 A、B、C……等等。所以端口 A 的 TRIS 寄存器是 TRISA。
最后是密码。例如,TRISA1。
TRISA1 定义为:
// TRISA<TRISA1>
extern volatile __bit TRISA1 __at(0x461); // @ (0x8C * 8 + 1)
#define TRISA1_bit BANKMASK(TRISA), 1
我想定义一个宏来轻松地将引脚命名为:
#define _DATA_OUTPUT A2
所以我可以做如下代码:
LAT_DATA_OUTPUT = 1;
PORT_DATA_OUTPUT = 0;
并由预处理器将其转换为:
LATA2 = 1;
PORTA2 = 0;
所以我以后可以扩展到其他引脚寄存器,例如 ANSEL、WPU 等,而无需重写宏或添加特殊情况。
这可能吗?或者我能做的最接近的事情是什么?