AVR重复定义 大家帮帮忙

2019-03-24 20:46发布

我刚刚初学A V R 是一个新手  用的是AVR studio4
昨天买来单片机开发板,看着视频做
我把他的示例文件  自己用手动输了一遍  提示gcc plug-in: Error: Object file not found on expected location D:cyuyandefaultsa.elf这个问题,为什么他的hex文件放进去能正常使用,我的就不可以

这是他的文件:
//DMAVR-128的8位独发光二极管闪烁示例程序
//编译环境 AVR Studio 4.17/AVR GCC
//系统时钟7.3728MHZ,设置熔丝位为外部高频石英晶体振荡,启动时间4.1ms
//作者:阿迪 www.avrgcc.com
//日期:2010.01.14
//***********************************************************************
//                        包含文件
//***********************************************************************

#include <string.h>
#include <stdio.h>
#define         F_CPU        7372800                /* 单片机主频为7.3728MHz,用于延时子程序 */
#include <util/delay.h>
#include <avr/io.h>

#define delay_us(x)     _delay_us(x)    //AVR GCC延时函数 x(us)
#define delay_ms(x)     _delay_ms(x)    //AVR GCC延时函数 x(ms)

#define LED8            PORTB


//*************************************************************************
//                        系统初始化子程序
//*************************************************************************
void system_init()
{
  DDRB=0xff;                                  //设置PD口为输出
  LED8=0xff;
}


//*************************************************************************
//                        主程序
//*************************************************************************
void main()
{
  system_init();                             //系统初始化
  while(1)
  {
    LED8=0x00;
    delay_ms(500);                          //延时500ms
    LED8=0xff;
    delay_ms(500);
  }
}
下面是我的
#include <string.h>
#include <stdio.h>
#define F_CPU 7372800
#include <util/delay.h>
#include <avr/io.h>

#define delay_us(x)    _delay_us(x)
#define delay_ms(x)    _delay_us(x)


#define led8    PORTD


void main()
{
DDRD=0xff;
led8=0xfe;
while(1)
     {
       led8=0x01;
       delay_ms(500);
       led8=0xfe;
       delay_ms(500);
     }
}
请大家帮帮忙 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
pajoke
2019-03-24 23:10
帮你核对了一下,差别:
你的:#define delay_ms(x)    _delay_us(x)
他的:#define delay_ms(x)     _delay_ms(x)    //AVR GCC延时函数 x(ms)

他的程序里用了_delay_ms(x),而你的用了_delay_us(x),改回来看看。

一周热门 更多>