请教LGT8F88A 在IAR环境下使用的各种文件(.inc .ddf .sfr .xcl)
如题求LGT8F88A 在IAR环境下使用的各种文件(.inc .ddf .sfr .xcl),不知道官网上的8F0XA的文件是否适用于8F88A?求指导!谢谢!如果有DEMO工程更好。 用IAR开发LGT8F88A, 选择ATMega88作为目标器件就可以了。
如果使用到LGT8F88A特有的功能,源代码再包含特有寄存器定义的头文件即可:
LGT8F88A特有功能寄存器定义头文件(配合AVR/IO.H使用) 本帖最后由 Joinj 于 2014-3-2 15:59 编辑
LGT 发表于 2014-3-2 10:57
用IAR开发LGT8F88A, 选择ATMega88作为目标器件就可以了。
如果使用到LGT8F88A特有的功能,源代码再包含特 ...
我现在用的lgt8f88a_full.h这个头文件,没什么问题吧?刚刚发现PE0 PE2PE6三个IO口不能操作,PE1 PE3 PE4PE5能够正常操作,麻烦问一下 这几个口有什么特别么? 烧完程序后拔掉调试器 也还是无法操作。
另外(.inc .ddf .sfr .xcl)用MEGA88的默认文件就可以了对吧?
还有,调试时寄存器栏里找不到PORTE寄存器。
置位SWDD后PE0 PE2 可以操作了,但是PE6依旧不能操作····
看来是看PDF不够仔细啊····置位RVIO_EN后 PE6可以用了··· Joinj 发表于 2014-3-2 15:00
我现在用的lgt8f88a_full.h这个头文件,没什么问题吧?刚刚发现PE0 PE2PE6三个IO口不能操作,PE1 ...
用lgt8f88a_full.h没有问题, 这里包含了全部的寄存器定义,不需要编译器提供的io.h了 LGT 发表于 2014-3-2 17:45
用lgt8f88a_full.h没有问题, 这里包含了全部的寄存器定义,不需要编译器提供的io.h了 ...
非常感谢!
顺便再问一下,IAR下LGT的中断说明头的格式是怎样的?
#pragma vector = TIMER0_OVF_vect
__interruptvoid TIMER0_OVF_Server(void)
{
TCNT0 = 0xff;
if(PORTD&0x10)
PORTD &= 0xef;
else
PORTD |= 0x10;
}
编译器提示:
Error: identifier "_VECTOR" is undefined F:\MyWorkSpace\MyProjectLib\GraduationDesign\AutomaticTemperatureControl\AutomaticTemperatureControlProgramByIAR\User\main.c 48
Error: function call is not allowed in a constant expression F:\MyWorkSpace\MyProjectLib\GraduationDesign\AutomaticTemperatureControl\AutomaticTemperatureControlProgramByIAR\User\main.c 48
不知道怎么破了··· 本帖最后由 LGT 于 2014-3-3 17:58 编辑
Joinj 发表于 2014-3-2 18:44
非常感谢!
顺便再问一下,IAR下LGT的中断说明头的格式是怎样的?
官网上的lgt8f88a_full.h是给avr-gcc以及avr studio用的,系统里面有_VECTOR()宏定义;
IAR编译器里面没有这个, 你在lgt8f88a_full.h的前面定义一下这个宏就可以了:
#define _VECTOR(x) x*2
为了避免和AVR-GCC混乱,建议将修改后的头文件改名:lgt8f88a_iar_full.h
本帖最后由 Joinj 于 2014-3-3 21:28 编辑
LGT 发表于 2014-3-3 17:42
官网上的lgt8f88a_full.h是给avr-gcc以及avr studio用的,系统里面有_VECTOR()宏定义;
IAR编译器里面没 ...
谢谢!
我在IAR下使用调试器时出现BUG,刚开始几次DEBUG还是正常的,后来就出现这个提示:
Mon Mar 03, 2014 20:20:12: Failed to read one or more register values (busy).
就再也不能用了,拔掉调试器 关掉IAR重新试都不得···
过一段时间,然后莫名其妙的又能用几次···然后就又只能当下载器用了···
是IAR编译器设置的问题么?
在一次DEBUG中出现:
Mon Mar 03, 2014 21:00:07: The stack pointer for stack 'CStack' (currently DATA:0x000000) is outside the stack range (DATA:0x000100 to DATA:0x000140)
Mon Mar 03, 2014 21:00:07: The stack pointer for stack 'RStack' (currently DATA:0x000000) is outside the stack range (DATA:0x000140 to DATA:0x000180)
之后就不能用了···好像是堆栈溢出?
我把CSTACK、RSTACK调大一倍再试也还不行。
发现用LGTMix_ISP下载一次后程序正常运行,然后再掉电一次, 就可以恢复正常了···但这样有点麻烦··· >CSTACK、RSTACK调大一倍再试也还不行。
IAR AVR is poor in performance.
页:
[1]