永发信息网

AVR ATmega128 程序问题?

答案:1  悬赏:30  手机版
解决时间 2021-05-13 18:41

AVR ATmega128 程序问题

#ifndef _UTIL_DELAY_H_
#define _UTIL_DELAY_H_ 1

#include <inttypes.h>

#if !defined(__DOXYGEN__)
static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
static inline void _delay_us(double __us) __attribute__((always_inline));
static inline void _delay_ms(double __ms) __attribute__((always_inline));
#endif


void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
"1: dec %0" "\n\t"
"brne 1b"
: "=r" (__count)
: "0" (__count)
);
}


void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
"1: sbiw %0,1" "\n\t"
"brne 1b"
: "=w" (__count)
: "0" (__count)
);
}

#ifndef F_CPU

# warning "F_CPU not defined for <util/delay.h>"
# define F_CPU 1000000UL
#endif


void
_delay_us(double __us)
{
uint8_t __ticks;
double __tmp = ((F_CPU) / 3e6) * __us;
if (__tmp < 1.0)
__ticks = 1;
else if (__tmp > 255)
__ticks = 0;
else
__ticks = (uint8_t)__tmp;
_delay_loop_1(__ticks);
}



void
_delay_ms(double __ms)
{
uint16_t __ticks;
double __tmp = ((F_CPU) / 4e3) * __ms;
if (__tmp < 1.0)
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0;
else
__ticks = (uint16_t)__tmp;
_delay_loop_2(__ticks);
}

#endif

然后在操作时出现:
Build started 10.11.2009 at 22:14:17
avr-gcc.exe -mmcu=atmega128 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT 2.o -MF dep/2.o.d -c ../2.c
In file included from ../2.c:2:
C:/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>."
In file included from C:/WinAVR/avr/include/avr/delay.h:37,
from ../2.c:2:
C:/WinAVR/avr/include/util/delay.h:136:3: warning: #warning "F_CPU not defined for <util/delay.h>"
avr-gcc.exe -mmcu=atmega128 -Wl,-Map=2.map 2.o -o 2.elf
avr-objcopy -O ihex -R .eeprom 2.elf 2.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex 2.elf 2.eep || exit 0
avr-objdump -h -S 2.elf > 2.lss

AVR Memory Usage
----------------
Device: atmega128

Program: 258 bytes (0.2% Full)
(.text + .data + .bootloader)

Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)


Build succeeded with 2 Warnings...

出现两个警告 不知道那里出问题了额

求高人指点

最佳答案

电脑系统问题


可能是文件缺损了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么男人都喜欢长的美的女人…
南部到金城多少公里?
西塘人会讲普通话吗
伏特加兑什么饮料好喝,伏特加兑什么好喝
急~~~金牒K3,总账未结账之前,出纳模块可否
汉阳区世纪宏图不动产(东方华庭店)地址有谁知
SD敢达选择合成
我的号被人改了消费限制,我打上我的QQ密码为
为什么我的电脑听不了空间的歌?
48个音标怎么读啊 拜托了
世界著名火炮有哪些?
邵东县五谷杂粮地址是什么,有没有知道的
13万仞好还是14蓝光好?
梦幻西游过75级剧情时为什么万圣公主不要龙须
周杰伦2009年的新专辑是什么?
推荐资讯
关于约束的名人名言有哪些???
自己的另一种寂寞
牛郎织女有几个小孩???
广州哪有电子元件器材卖
诺基亚品牌手机
谁能告诉我装系统需要什么步骤啊?
橡树代表什么意义?
木制刀具可以托运不?
武昌区富泽热干面馆哪位知道具体地址啊
泸溪县人保财险泸溪支公司地址在哪,我要去那
忍者村大战2.3小鬼版在哪下载
阳新县金三角艺术幼儿园我想知道这个在什么地
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?