MCUAVR 发表于 2007-7-26 13:23:07

用ICC编译ATtiny2313串口程序时报不能找到串口的一些寄存器?????请问各位前辈这是为

用ICC编译ATtiny2313串口程序时报不能找到串口的一些寄存器?????请问各位前辈这是为什么??

编译结果如下:

"D:\icc7\icc\bin\iccavr-ID:\icc6.31\icc\include\ -e -D__ICC_VERSION="7.00" -DATtiny2313-l -g-LD:\icc6.31\icc\lib\ -bfunc_lit:0x26.0x800 -dram_end:0xdf -bdata:0x60.0xdf -dhwstk_size:16 -beeprom:1.128 -fihx_coff -S2 热水器.c

!E 热水器.c(65): undeclared identifier `UCSRB'

!E 热水器.c(69): undeclared identifier `UCSRC'

!E 热水器.c(69): undeclared identifier `URSEL'

!E 热水器.c(69): undeclared identifier `UCSZ1'

!E 热水器.c(69): undeclared identifier `UCSZ0'

Done: there are error(s). Exit code: 1

"

MCUAVR 发表于 2007-7-26 15:06:59

要沉了,走过路过的朋友请指点指点小弟,谢谢先

whqs008 发表于 2007-7-28 00:53:00

头文件里看看有这些定义么

eblc1388 发表于 2007-7-28 01:47:35

ATTiny2313 的 UCSRC 寄存器内根本没有 URSEL 这个位。Mega8, Mega16, Mega32...等才有。

bg4uvr 发表于 2007-7-28 17:45:33

操作硬件的特殊寄存器,要仔细查看DATASHEET。AVR系列的芯片,不同型号,特殊寄存器差别好大!这点和51不太一样……

bb88bb 发表于 2007-8-10 21:51:21

大家好,我也遇到同样问题了,在做attiny2313的通讯部分时候也被卡住了,为什么ICCAVR里面没有attiny2313的头文件,对此我参考过芯片资料,也尝试过用AT90S2313的头文件来代替。结果发现I/O口操作正常,但是选择4MHZ或者8MHz内部晶振来设置9600波特率时出现问题,串口调试助手总是接收不到正确的数据。到底晶振频率不够呢还是attiny2313对应的寄存器不能兼容AT90S2313 ?我是现在正准备尝试用外部晶振来做。但是头文件的疑惑还是没有解决,希望各位朋友能尽快帮忙解决,不胜感激~

shuipaopao 发表于 2013-2-16 20:43:05

头文件用错了吧,应该用#include<iot2313v.h>
页: [1]
查看完整版本: 用ICC编译ATtiny2313串口程序时报不能找到串口的一些寄存器?????请问各位前辈这是为