有更清洁/更简单的方法吗?
以下工作正常,但我认为这很难看 - 我想要一个解决方案,不需要为每个可能作为“端口”传递的无效值单独的#define。
#define _port_A_config_digital(mask) // do nothing; this port is always digital
#define _port_B_config_digital(mask) AD1PCFGSET = (mask)
#define _port_C_config_digital(mask)
#define _port_D_config_digital(mask)
#define _port_E_config_digital(mask)
#define _port_F_config_digital(mask)
#define _port_G_config_digital(mask)
#define _port_H_config_digital(mask)
#define _port_I_config_digital(mask)
#define _port_J_config_digital(mask)
#define _port_K_config_digital(mask)
#define ConfigDigitalBits(port, mask) _port_##port##_config_digital(mask)
如果“port”是除B以外的任何,我想要一个空语句。
除了那个做某事的人之外,我想摆脱所有#defines。
我想这样做是因为在这个MCU上,B以外的所有端口总是是数字的,没有什么可做的。
但是调用ConfigDigitalBits()应该是任何端口的有效方法。