主页 >> 信息 >> AtmanAvr C 常问问题

  1. AtmanAvr C 为何不支持中文界面?

    AtmanAvr 1.3 及以上版本支持多语言界面,包括简体中文和英文。请参考信息中最新版本信息,如果您所用的版本较早,建议重新下载安装。

  2. 处理器型号列表中没有的器件如 ATmega8 等能否支持?

    AtmanAvr 2.0 及以上版本已经直接支持 AVR 最新热门器件,包括:ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega162 和 ATmega128 等处理器。

    对于处理器型号列表中没有的器件,AtmanAvr 2.0 提供了一个 "Custom" 器件类型。选择该器件类型系统将生成一个空工程项目,由用户自由定制任何所需的文件。

    另外还可以采取如下变通方法:

    1)在处理器型号列表中选择相近的器件,生成工程文件;

    2)打开工程主头文件,把定义的器件型号(#define __AVR_XXXXXX__)更改为所用的型号;

    3)根据所用的型号调整系统生成源文件的 IO 口等设置。

    具体支持的型号为:

    AT90S1200(*)(**) AT90S2313
    AT90S2323
    AT90S2333
    AT90S2343
    AT90S4414
    AT90S4433
    AT90S4434
    AT90S8515
    AT90S8535
    AT94k

    ATmega103
    ATmega128
    ATmega16
    ATmega161
    ATmega162
    ATmega163
    ATmega169(*)
    ATmega32
    ATmega323
    ATmega64
    ATmega8
    ATmega8515
    ATmega8535

    AT43usb320
    AT43usb355
    AT76c711(*)
    AT86RF401(*)
    ATtiny11(*)(**)
    ATtiny12(*)(**)
    ATtiny15(*)(**)
    ATtiny22
    ATtiny26(*)
    ATtiny28(*)(**)
    (*):间接支持
    (**):仅汇编语言支持
  3. 用 C++ 编写的程序,在调试 .cof 文件时,AvrStudio 显示执行非法操作信息。

    AtmanAvr 2.2 及以上版本用 C++ 语言编译生成的 .cof 文件用 AvrStudio3 调试时如果显示执行非法操作信息,建议用 AvrStudio4 调试。

  4. 用 AvrStudio 调试 .cof 文件时,有些变量不能在察看窗口(Watches)中察看。

    AtmanAvr 2.2 之前的版本生成的 .cof 文件兼容性不很好,有些变量可能无法在察看窗口(Watches)中察看,AtmanAvr 2.2 生成的 .cof 文件良好兼容 AvrStudio3 和 AvrStudio4 ,建议使用最新升级版本。另外:

    如果编译时采用了代码优化,那么有些变量可能不能察看。调试时建议不优化。

    要察看某一变量,可以在 C 源文件窗口中选中该变量,点击添加察看(Add Watch)按钮。程序运行到该变量可见范围内时,将显示出该变量的值。

  5. 使用我自己的链接库时,程序中未用到的函数也调入了代码中,额外增加了代码量。如何处理?

    如果几个库函数在同一个实现文件(源文件 .c)中,编译后就在同一个输出文件(.o)中,使用时调用其中的任何一个函数,同一个输出文件(.o)中的其他函数的代码都将调入到目标代码中,也就是额外增加了代码量。
    编写自己的链接库时,建议一个实现文件(源文件 .c)只写一个函数,多个函数采用多个实现文件。编译后链接库中存在多个输出文件(.o),使用时调用其中的某一个函数时,程序中未用到的函数就不会调入到目标代码中。

  6. 我在工程中使用了 LCD 模块,在用 AvrStudio 调试 .cof 文件时,程序运行到 lcd_init()函数就停在那里,按两次 break 键后源程序窗口变成了汇编窗口,什么原因?

    由于 LCD 库函数存在实时检测 LCD 忙信号的代码,调试中检测到 LCD 忙信号时,程序将等待直到忙信号变低。调试时,选择自动步进(Auto Step)方式,当程序停在 LCD 库函数处时,在 IO 窗口中,展开 LCD 使用的端口(例如 Port C),点击输入引脚(Input Pins)的 D7 位复选框,直到执行完该函数。