F_CPU not defined for <util/delay.h> 问题解决
来源:互联网 发布:软件系统性能指标要求 编辑:程序博客网 时间:2024/06/04 19:49
问题描述及原因探究:
在AVR程序编写的过程中,如果使用了延时函数,在包含 util/delay.h 头文件后,编译会报一个警告——
F_CPU not defined for \<util/delay.h\>
该警告出现的原因是因为单片机在进行延时时需要通过其所使用的晶振频率来计算时间,从而保证延时的准确性。如果没有为延时函数提供正确的频率的话,延时会出现不准确的情况。
当然,如果没有进行宏定义的话,delay.h中会自行添加一个频率,“#define F_CPU 1000000UL”,但是该频率并非我们所使用的频率会导致程序延时错乱。
解决办法:
查看单片机上晶振的频率,然后根据该频率值,在包含延时头文件 “util/delay.h”前先进行宏定义,如:
#define F_CPU 7372800UL#include <util/delay.h>
注:
频率数值后面的 UL 表示该数值为 unsigned long 类型, 不要省去。
阅读全文
0 0
- F_CPU not defined for <util/delay.h> 问题解决
- "delay.h
- Uncaught ReferenceError: $ is not defined问题解决
- library not found for - 问题解决
- _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h
- _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h
- _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
- _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
- WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
- zlib.h not found的编译问题解决
- The CATALINA_HOME environment variable is not defined correctly问题解决
- NLTK使用中NameError: name 'FreqDist' is not defined问题解决
- 实用程序软件包(关于使用静态函数报错问题“Static function declared but not defined in C+++ "eh.h is only for C++!"报错问题)
- Customer xxxx is not defined for function xx
- Company code XX not defined for purchasing organization XX
- 头文件delay.h, delay_basic.h
- Linux errno.h和delay.h
- lbrary not found for lWAP 问题解决
- Mysql数据库防SQL注入原理
- emmit快捷键
- 22 视图
- Android开发,自定义View(三)-----圆环交替 等待效果
- PERT图相关计算
- F_CPU not defined for <util/delay.h> 问题解决
- Java泛型
- Apollo 1.0 指南
- Java实现页面显示中的信息分页
- linux的ipv6解决方案
- 容器云下hadoop集群的搭建
- 基于TCP的RTSP/RTP流媒体传输
- linux设置简化命令
- iOS之UIView Animations