首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
WinAVR(GCC)快速入门AVR单片机指南
来源:本站整理  作者:佚名  2011-12-16 06:30:13



导读:WinAVR 的配置与 makefile 一直是新手入门的两个难点。我们经过详细的测试,推荐大家不需要作任何的配置, 并且介绍了如何用最简单的方法创建自己的 makefile 文件。利用本文,十来分钟你就能入门 WinAVR /GCC.  

我们网站的研发部统一使用 WinAVR(即GCC)。我们会在所有的新手入门范例、应用范例中使用GCC开发代码。详细原因、软件下载

软件安装好后,你就能在电脑上看到如下的功能菜单:

 

说明如下:

名称说明Programmers NotepadGCC语言编辑器。可提供应用程序接口。Mfile

GCC需要一个叫 makefile 的参数文件才能进行编译。Mfile 是一个工具,可以让用户方便地修改 makefile 上的参数。不过我们不推荐使用它。我们推荐直接用记事本打开 makefile 进行编辑。

AVR Insight仿真调试工具TkInfoGNU的超文本浏览器Uninstall WinAVR卸载 WinAVR 软件WinAVR User ManualWinAVR 用户手册GNU Maunals OnlineGNU的在线帮助AVR-libc ManualAVR GCC的C语言函数库帮助手册

从上表可见,WinAVR 的功能看来很多。但我们只推荐使用PN (Programmers Notepad )。

让我们演示如何使用PN进行GCC代码的编辑、编译。

步骤一:打开 PN 工具

步骤二: 编写C源代码

菜单 File --> Open 打开预先放在 C:\avr_test 目录下的C源文件。这个源文件来自我们的新手入门的第一个范例,文件名叫 main.c 。你可以点击此处下载这个C文件压缩包(需要解压后才能使用,不要改名)。为了方便阅读,我们将这个main.c 排版成彩色的网页格式,你也可以直接点击这里查看main.c 的具体内容。

打开main.c 后,看到如下的界面

你可以直接编辑 main.c 。

编辑完成,保存后,我们就可以进行下面的编译工作。

步骤三: 准备 Makefile 文件

编译能生成可供AVR执行的代码、仿真调试文件等。

可能大家会奇怪,上面的main.c 代码,没有告诉电脑AVR芯片的型号、工作频率等,电脑如何知道这些数据?

WinAVR/GCC 使用一个叫 Makefile 的文件,存放这些参数。在WinAVR上也有一个叫mfile的应用程序去处理这个Makefile 文件。但我们测试时发现,mfile 的缺陷很多,不好用,并且容易弄错。我们推荐大家直接用记事本等,直接编译这个文件。为了方便阅读与修改,我们将最常用的内容,放到Makefile的最前面,并且作了中文注解。

在我们的示范Makefile,会看到以下的内容。建议大家只修改:单片机类型系统时钟频率、目标文件名及C源文件名这四项。大家可参考我们的示范修改:

#这是一个简单makefile,仅用于初学者使用
#修改于WINAVR20050214所生成的makefile
#简单实验只需更改 [单片机类型][目标文件名][C源文件名][系统时钟频率]即可
#修改好参数后另存到单片机程序所在目录,然后执行[make all]命令
#生成 烧录FLASH的*.hex,烧录EEPROM的*.eep,调试用的*.elf 文件
#
#

# 单片机类型 参考格式是:atmega8 / at90s2313 / attiny15
MCU = atmega16


# 系统时钟频率(Hz),用于生成延时 _delay_us() _delay_ms() 见delay.h
# This will define a symbol, F_CPU, in all source code files equal to the
# processor Frequency. You CAN then use this symbol in your source code to
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
# automatICally to create a 32-bit value in your source code.
F_CPU = 1000000

# 目标文件名(即生成的.hex/.eep/.elf的文件名)
TARGET = main

# C源文件名(不带路径)
# 多个文件名间用空格隔开 例如 SRC = file1.c file2.c file3.c
# 不需要加上 h头文件
SRC = $(TARGET).c



# 输出烧录文件格式
FORMAT = ihex

# 优化级别

将我们这个示范的 Makefile 文件,下载后拷贝到 c:\avr_test 目录中。上面我们已经设置了ATmega16芯片,工作在1M的频率里,主文件名叫 main.c ,只有一个文件。

步骤四:编译 (Make All)

按下图操作。

编译成功后,会有如下的 Process Exit Code: 0 的信息。

如果结果不是0,表明编译有问题,请检查你的 c:\avr_test 目录是否有main.c 与 Makefile 两个文件。

编译成功后,原来只有2个文件的目录,现在变成了如下图的文件清单:

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:105,664.10000 毫秒