c - ImageCraft 是否创建 CPU 频率定义?

标签 c avr

我怀疑这是一个简单的问题,但我无法在任何地方找到答案。

ImageCraft 编译器是否创建 cpu 频率定义?我知道 gcc-avr 以 F_CPU 的形式存在,但我无法为 iccavr 找到类似的定义。

最佳答案

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

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

似乎没有CPU频率的符号。

顺便说一句,除非您可以在构建选项中的某处指定它(我不知道,因为我很久以前就使用过这个编译器),否则编译器并不真正知道 avr 频率是多少。微 Controller 可以在不同的频率和振荡器 (RC/XTAL) 下运行,编译器并不真正关心,因为它生成的机器代码在任何情况下都会运行,程序员有责任处理这个问题。

但是有用的一件事是 CPU 类型,例如,如果您需要使某些代码在许多 CPU 上工作,其中某些寄存器具有不同的名称或位含义,那么您可以 #ifdef 适当的符号,例如 ATMega128 和 handle特定于 CPU 的代码。

关于c - ImageCraft 是否创建 CPU 频率定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7173944/

相关文章:

c - 丢失的字母去哪儿了?

c - 将指针字符打印为十六进制

连接两个字符串错误

c++ - 静态变量输入时存储什么值?

width - AVR Studio上的脉冲宽度调制(PWM)

c - ATMega128 启动时输出闪烁

java - AVR 微 Controller 温度传感器通过 LAN 进行通信

c - 使用字符输入执行 while 循环

c - 通过 MPI 点对点通信发送数组

c - sprintf float 和 double 变量