AVR单片机问答
扫描二维码
随时随地手机看文章
仿真器
ATMEL的ATICE30可适用于实时仿真
C编译器:
所有的C编译器均已在ATMEL网站上有关第三方工具供应商的网页上列出;ATMEL公司在它的网站:http://www.atmel.com上还提供了许多自由软件它们可用于对AVR单片机的程序进行汇编和模拟这些软件可以自由下载,上述产品也可通过ATMEL授权的地区分销商和销售代理获得。
问:有哪些支持AVR的起步工具包
答STK100,SL-AVR,SL-OKAVR,SL-AVRL支持AVR的Tiny系列 单片机
STK200,SL-AVR,SL-OKAVR,SL-AVRL支持AVR 单片机 即AT90S系列
STK300,SL-AVR,SL-OKAVR,SL-AVRL还支持AVR的Mega103 单片机 .
STK500,SL-AVR,SL-OKAVR,SL-AVRL还支持AVR的Mega103 单片机
所有的起步工具包都包括按钮LED指示灯RS232通信接口I/O口通过分布在PCB板边沿的连接插头可以使用STK200/300起步工具包还有一条在线编程ISP电缆它可用以对AVR芯片编程STK300还提供了AVR应用程序生成器可用来生成外围设备的初始化代码
问:即使看门狗没有使用我也有时在AVRStudio调试软件的状态栏中看到“WDTreset”WDT复位的信息这是为什么?答当目标器件运行在较高的频率大于6MHz)时来自扁平电缆FPC电缆的噪声信号可能错误地触发WDT复位检测电路这对程序的仿真和执行没有影响它们不会由于噪声的原因而产生复位噪声仅仅影响AVRStudio调试软件的信息处理在这种情况下不要理睬这个信息当目标器件运行在较低的频率小于或等于4MHZ时应该不会出现这个问题
问:我刚买了一台ICE200仿真器在使用不同的芯片和不同的时间运行诊断程序时都是失败的而其它一切正常这是什么原因?
答在ICE200仿真器的第一批产品中是一个固件监控程序的问题而导致这个现象这个现象可以通过升级新版本的监控程序来修正当使用2.02版或更高版本的AVRStudio软件时AVRStudio将读取固件版本并检查这个问题如果你的ICE200需要升级它会引导你完成升级处理这个检查工作只有在装载应用程序时才能被执行而当运行诊断程序时是不被启动的如果你首先尝试运行诊断程序诊断仿真器诊断程序不会检查固件版本并且可能诊断失败如果你碰巧有这种情况不要理睬诊断失败而直接去装载应用程序这时你将可以升级ICE200的监控程序在升级后再回过来运行诊断程序诊断结果应该全部是正确了(注现在销售的ICE200已没有这个问题了)
问:如何检查我的AVR仿真器的版本号?
答在仿真器被连接的时候打开AVRStudio程序选择菜单中Help->About->Info来获得你的仿真器的有关信息AT90ICEPRO在1.20之前的版本和ATmegaICE在1.11之前的版本是不能被AVRStudio软件检测到的较新的版本已经有了而且可以从Atmel网站自由下载.
问:程序在仿真器或 单片机 中不工作,而在模拟器中看来工作很正常这是什么原因?
答这是堆栈指针设置中的常见问题对所有带SRAM的AVR 单片机 堆栈指针必须设置在SRAM最后的地址
在汇编程序中这样做是正确的
ldiR16low(RAMEND)装载堆栈指针的低字节到R16
outSPLR16输出这个数值到堆栈指针寄存器
ldiR16high(RAMEND)装载堆栈指针的高字节到R16
outSPHR16如果AVR的SRAM小于256字节就将这行注释掉
在C程序中堆栈指针是在启动代码中自动设置的注意链接文件(XCL文件)定义了堆栈指针的位置请参考应用笔记AVR032----C编译器的链接文件”
问:从哪里我能找到完整的AVR指令集?
答指令集在Atmel的网站的Products->AVR8bitRISC->Datasheets下面的网页上或者直接连接http://www.atmel.com/atmel/products/prod200.htm网页;<