导读:WinAVR 的配置与 makefile 一直是新手入门的两个难点。我们经过详细的测试,推荐大家不需要作任何的配置, 并且介绍了如何用最简单的方法创建自己的 makefile 文件。利用本文,十来分钟你就能入门 WinAVR /GCC.
软件安装好后,你就能在电脑上看到如下的功能菜单:
说明如下:
名称
|
说明
|
Programmers Notepad
|
GCC语言编辑器。可提供应用程序接口。 |
Mfile
|
GCC需要一个叫 makefile 的参数文件才能进行编译。Mfile 是一个工具,可以让用户方便地修改 makefile 上的参数。不过我们不推荐使用它。我们推荐直接用记事本打开 makefile 进行编辑。 |
AVR Insight
|
仿真调试工具 |
TkInfo
|
GNU的超文本浏览器 |
Uninstall WinAVR
|
卸载 WinAVR 软件 |
WinAVR User Manual
|
WinAVR 用户手册 |
GNU Maunals Online
|
GNU的在线帮助 |
AVR-libc Manual
|
AVR GCC的C语言函数库帮助手册 |
从上表可见,WinAVR 的功能看来很多。但我们只推荐使用PN (Programmers Notepad )。
让我们演示如何使用PN进行GCC代码的编辑、编译。
步骤一:打开 PN 工具
步骤二: 编写C源代码
菜单 File --> Open 打开预先放在 C:\avr_test 目录下的C源文件。这个源文件来自我们的新手入门的第一个范例,文件名叫 main.c 。你可以点击此处下载这个C文件压缩包(需要解压后才能使用,不要改名)。为了方便阅读,我们将这个main.c 排版成彩色的网页格式,代码如下:
- #include <avr/io.h>
- #include <avr/delay.h>
- //注: 内部函数_delay_ms() 最高延时 262.144mS@1MHz 即 32.768ms@8MHz
- // 该函数可以实现较精确的定时for()/while()指令很难计算延时时间
- // 为了使 _delay_ms()函数的延时正确,须在makefile中设定F_CPU为实际的系统时钟频
- // 本范例为1MHz内部RC振荡器 即 F_CPU=1000000
- int main(void)
- {
- unsigned char i,j,k; //定义变量
- PORTA=0xFF;
- DDRA=0xFF; //PA口设为输出高电平,灯灭
- while(1)
- {
- i=1;
- for (j=0;j<8;j++) //循环8次,即PA0~~PA7轮流闪亮
- {
- PORTA=~i; //反相输出,低电平有效
- for (k=0;k<10;k++) _delay_ms(30); //延时 30*10=300毫秒,可自行调节
- i=i<<1; //左移一位
- // 0b00000001 PA0
- // 0b00000010 PA1
- // 0b00000100 PA2
- // 0b00001000 PA3
- // 0b00010000 PA4
- // 0b00100000 PA5
- // 0b01000000 PA6
- // 0b10000000 PA7
- }
- }
- }
打开main.c 后,看到如下的界面
你可以直接编辑 main.c 。
编辑完成,保存后,我们就可以进行下面的编译工作。