2011-08-24 62 views
1

我会怀疑这是一个简单的问题,但我无法在任何地方找到答案。ImageCraft会创建CPU频率定义吗?

ImageCraft编译器是否创建一个CPU频率定义?我知道gcc-avr的形式是F_CPU,但我一直无法找到iccavr的类似定义。

回答

0

我看看在线手册,发现只有少数几个预定义宏:

http://www.imagecraft.com/help/iccavr/wwhelp/wwhimpl/common/html/wwhelp.htm?context=ICCAVRHelp&file=5A-CPreprocessor2.html

似乎对CPU频率的符号不存在。顺便说一句,除非你可以在构建选项(我不知道,因为我很久以前使用过这个编译器)中指定了这个地方,编译器并不真正知道avr频率是什么。微控制器可以运行在不同的频率和振荡器(RC/XTAL),编译器并不关心它,因为它产生的机器代码无论如何都会运行,程序员负责处理这个问题。

但是有一点很方便,就是CPU类型,例如,如果你需要在许多CPU上做一些代码工作,其中一些寄存器有不同的名称或位,那么你可以#ifdef适当的符号,如ATMega128和处理CPU特定的代码。

+0

谢谢。所以这是我怀疑的。我知道编译的代码不受时钟频率的影响,但如果它是某个项目特定的设置,它仍然会很好。 – Kenneth

+0

您可以从目标设​​置中定义全局符号中的频率,这与编译器所做的相同。或者,您可以设置由所有低级模块共享的项目特定标头。 – Zmaster