对比
差的代码
void foo() {
int a = 123;
ADCON = 0xFF; // 直接操作寄存器,无注释
while (1) {
if (PORTA & 0x01) do_something();
}
}
好的代码
// 功能:检测按键按下后触发动作
#define BUTTON_PIN (PORTA & 0x01)
void Button_Init(void) {
TRISA |= 0x01; // 设置PA0为输入
ADCON = 0xFF; // 关闭ADC以节省功耗
}
void Button_Poll(void) {
if (BUTTON_PIN == HIGH) {
Task_TriggerAction(); // 非阻塞式处理
}
}
通过以上方法,可以显著提升单片机代码的可读性、可维护性和可靠性,同时降低后期调试和扩展的成本。
|