gpt4 book ai didi

c++ - 简化嵌入式系统中的位(引脚)操作

转载 作者:行者123 更新时间:2023-11-30 17:19:21 27 4
gpt4 key购买 nike

我编写了一个程序来控制多个泵并监视开关,我的目标有两个:首先,减少代码量,其次是为了更容易记住和跟踪哪个引脚是哪个 LED/开关。

我有两种方法,但无法确定从长远来看哪种方法更好,即将来维护代码。

首先是创建功能 block ,如:

void pump_on(void)
{
PORTC |= _BV(PC5);
}

第二个是定义:

#define pump_on PORTC |= _BV(PC5)

其中一个比另一个更好吗?

最佳答案

我肯定会选择这个函数,因为它不太容易出错(但可能不在你的确切示例中),并且在任何像样的编译器上应该具有完全相同的效率。

但是,我会考虑像这样参数化它:

void set_pump(_Bool enable) //or void set_pump(bool enable) if you are using c++
{
if (enable) {
PORTC |= _BV(PC5);
} else {
PORTC &= ~_BV(PC5);
}
}

关于c++ - 简化嵌入式系统中的位(引脚)操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28919093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com