用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
" 要沉了,走过路过的朋友请指点指点小弟,谢谢先 头文件里看看有这些定义么 ATTiny2313 的 UCSRC 寄存器内根本没有 URSEL 这个位。Mega8, Mega16, Mega32...等才有。 操作硬件的特殊寄存器,要仔细查看DATASHEET。AVR系列的芯片,不同型号,特殊寄存器差别好大!这点和51不太一样…… 大家好,我也遇到同样问题了,在做attiny2313的通讯部分时候也被卡住了,为什么ICCAVR里面没有attiny2313的头文件,对此我参考过芯片资料,也尝试过用AT90S2313的头文件来代替。结果发现I/O口操作正常,但是选择4MHZ或者8MHz内部晶振来设置9600波特率时出现问题,串口调试助手总是接收不到正确的数据。到底晶振频率不够呢还是attiny2313对应的寄存器不能兼容AT90S2313 ?我是现在正准备尝试用外部晶振来做。但是头文件的疑惑还是没有解决,希望各位朋友能尽快帮忙解决,不胜感激~ 头文件用错了吧,应该用#include<iot2313v.h>
页:
[1]