是否有一种简单的方法可以使用#ifdef来检测特定版本中使用的芯片?
我们正在更新一些头文件,以便用于TMS320F2.8335万和2.8377万D芯片组的项目。
与特定于设备的寄存器发生冲突,并尝试确定是在不同的位置中使用单独的头文件,还是使用#ifdef的单个头文件是正确的解决方案。
我一直在寻找构建变量,试图找出芯片定义,但我认为我可能错过了显而易见的答案。
感谢您的建议,
Neal
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
是否有一种简单的方法可以使用#ifdef来检测特定版本中使用的芯片?
我们正在更新一些头文件,以便用于TMS320F2.8335万和2.8377万D芯片组的项目。
与特定于设备的寄存器发生冲突,并尝试确定是在不同的位置中使用单独的头文件,还是使用#ifdef的单个头文件是正确的解决方案。
我一直在寻找构建变量,试图找出芯片定义,但我认为我可能错过了显而易见的答案。
感谢您的建议,
Neal
芯片名称可通过字符串变量设备(例如 TMS320F2.8377万D)。 您可以在预定义符号中将其设置为#define,如下所示:
__CHIP_=\"${DEVICE}\"
用法示例:
const char target_chip[] = __CHIP__;
但是,我不确定如何使用它,正如您在#ifdef中描述的那样,在代码中执行一项操作,而不是另一项操作,因为预处理程序不会比较字符串。