我正在使用 HiTech PICC32 为 PIC32MX 编写固件。我要避免的一个问题是,由于大多数管脚都有多个名称(例如 AN0 = RB0 = CN2 = PGED1),我或其他人可能会不小心使用 RB0 而没有意识到 AN0 已被使用。(这实际上可能是灾难性的,因为不正确地配置模拟/数字引脚会导致电流消耗过大并释放必要的烟雾。)
除了全面记录使用的每个引脚外,我想知道是否有一种快速的方法可以在编码级别解决这个问题。我想要一个人们(主要是我自己)可以使用的宏,比如说CLAIM_PIN(58)
,如果它运行两次就会发出警告或错误。
(我不惜一切代价想要这个,如果唯一可能的解决方案太可怕或无法维护,那么我会忘记它,只会因泪流满面或着火之类的而声名鹊起。我也看到了这个问题关于生成宏的宏,排除了这种情况。)
我应该澄清一下:代码是用多个编译单元编写的(至少,我认为这就是这个短语的意思)。我的 A2D 代码有一个 .h/.c 文件,对于 SPI 类似,对于只使用某些 I/O 端口的各种外围设备也是如此。空间不是问题,我的代码在 PIC32MX 上留下了足够的空间;我也可以使用另一个 __DEBUG 标志来删除引脚检查代码以供最终使用。