17000|10

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求教ICCAVR编译中出现的问题 [复制链接]

各位大哥,小弟刚学单片机遇到一个问题,希望大家不吝赐教,先行谢过了。 单片机用的是ATMEGA8L,编译用的是ICCAVR,可是一编译就显示出错 F:\AVR\ICCAVR\icc\bin\imakew -f test1.mak iccavr -c -IF:\AVR\ICCAVR\icc\include\ -e -l -g -Wa-W F:\AVR\ICCAVR\新建文件夹\test1.c iccavr -o test1 -LF:\AVR\ICCAVR\icc\lib\ -g -Wl-W -bfunc_lit:0.0x2000 -dram_end:0x25f -bdata:0x60.0x25f -dhwstk_size:16 -fihx_coff -S2 @test1.lk !E F:\AVR\ICCAVR\icc\lib\crtAVR.o(41): Code address 0 already contains a value !E F:\AVR\ICCAVR\icc\lib\crtAVR.o(41): Code address 0x1 already contains a value F:\AVR\ICCAVR\icc\bin\imakew.exe: Error code 1 Done: there are error(s). Exit code: 1 其中出错位置在 !E F:\AVR\ICCAVR\icc\lib\crtAVR.o(41): Code address 0 already contains a value !E F:\AVR\ICCAVR\icc\lib\crtAVR.o(41): Code address 0x1 already contains a value 这里,它说LIB 里面的这个文件CRTAVR里面的第41行的问题,到底是什么意思呢,我应该怎么改我的程序呢,谢谢! 程序如下: //Target:atmega8 //Crystal:8Mhz #include <iom8v.h> #include <macros.h> /*——————————————————————————————————————————————*/ /*函数名:I/O 口初始化*/ void init_IO(void) {DDRB=0X08; //PB3输出PWM控制电机转速 DDRD=0XFF; DDRC=0X30; //PD0-PD3作为输出控制功率管,PC4,PC5作为输入 } /*——————————————————————————————————————————————*/ /*函数名: 初始化ADC转换*/ void init_adc(void) { ADCSRA=(1<<ADEN)|0X82; //使能ADC,用时钟4分频 } /*——————————————————————————————————————————————*/ /*函数名:初始化定时器T2 功能说明:把T2作为PWM输出,控制电动机下侧功率管的开关,从而控制电动机速度 */ void time2_init (void) { TCCR2=(0<<WGM21)|(1<<WGM20)|(1<<COM21)|(1<<COM20)|(0<<CS22)|(0<<CS21)|(1<<CS20); //相位修正模式,1分频 } /*——————————————————————————————————————————————*/ /*函数名:读取ADC单端通道 返回参数:转换结果ADC */ unsigned int read_adc() /*用查询方式读取ADC单端通道*/ { ADMUX=(0<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(0<<MUX0); //选择外部AVCC做参考电压,左对齐,第0个通道 ADCSRA|=(1<<ADSC); //启动AD转换 while ((ADCSRA&(1<<ADIF))==0); //检测AD转换结束 ADCSRA|=(1<<ADIF); //写1清除标志位 return ADCH; } /*——————————————————————————————————————————————*/ //函数名:控制功率管 void control ( ) { if ((PINC&=0B00100000)==0B00100000) { if ((PINC&=0B00010000)==0B00010000) PORTD|=0B00001001; else PORTD|=0B00000110; } } //—————————————————————————————————————————————— void main (void ) { init_IO(); init_adc(); read_adc(); OCR2=ADCH; time2_init(); while(1) { control(); } }

最新回复

呵呵 我也是刚学的  详情 回复 发表于 2007-6-29 08:58
点赞 关注
 

回复
举报

449

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

回复:求教ICCAVR编译中出现的问题

我试了一下,好象没错啊?!@_@
 
个人签名世界是个圈,人生也是个圈。
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复:求教ICCAVR编译中出现的问题

没有错?怎么我试就老是有错呢?呵呵晕了,再试下
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

4
 

回复:求教ICCAVR编译中出现的问题

那请问你用的是ICCAVR哪个版本啊?我用ICCAVR6.31A的,试过了还是有错
 
 
 

回复

251

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复:求教ICCAVR编译中出现的问题

不会写程序,呵呵
 
 
 

回复

47

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复:求教ICCAVR编译中出现的问题

没用过ICCAVR。建议用 IAR Embedded Workbench for Atmel AVR 开发环境,问题可能会少些。
 
 
 

回复

229

帖子

0

TA的资源

纯净的硅(高级)

7
 

回复:求教ICCAVR编译中出现的问题

搞不懂。。。飘过。。。。。
 
个人签名作人随心、做事随缘。世间凡事岂能尽如人意。不求无怨无悔、但求无愧于心。
 
 

回复

449

帖子

0

TA的资源

五彩晶圆(高级)

8
 

回复: 求教ICCAVR编译中出现的问题

原帖由 wuxinyangwei 于 2007-6-27 9:57:00 发表 那请问你用的是ICCAVR哪个版本啊?我用ICCAVR6.31A的,试过了还是有错
我用的是ICCAVR7,不过不常用,觉得GCC好点啊~纯熟个人意见
 
个人签名世界是个圈,人生也是个圈。
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

9
 

回复:求教ICCAVR编译中出现的问题

程序没有错误 只是你的选择芯片没有选择对
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

10
 

回复:求教ICCAVR编译中出现的问题

是啊 ,我迷糊了,忘了设置单片机型号,太混蛋了。 谢谢各位帮忙。
 
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

11
 

回复:求教ICCAVR编译中出现的问题

呵呵 我也是刚学的
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表