C语言 beginning with winAVR



我有20多年的编程经验,从pascal 7到delphi。我想开始使用C编程微控制器,大多数电子套件推荐的工具是带有程序员笔记本的winAVR。我已经安装了软件,想开始编译代码,我迷路了,至少可以说,找不到任何简单的文档,让自己走上轨道,我可以开始测试代码。谁能提供一些好的入门材料?

而对于PC来说,通常的第一个程序是"Hello, World!",在嵌入式世界中(一个缺乏显示器的世界,至少从一开始,等效的是闪烁的led:您将led连接到处理器的某些输出引脚上(不要忘记限流电阻!(你需要一个电阻与LED串联),你让LED闪烁。你可以找到很多AVR的闪烁led,但我们可以在这里写一个:

// The next define tells delay.h what your CPU speed is, assuming 1Mhz
#define F_CPU 1000000UL
#include <util/delay.h>
main() {
   while(1) { // loop forever
      DDRB = 0xFF;     // Set the direction of all pins 
                       // on port B to OUTPUT (can change to some other port)
      PORTb = 0xFF;    // Set all pins on port B high (can change to some other port)
      _delay_ms(1000); // Wait one second;
      PORTb = 0x00;    // Set all pins on port B low (can change to some other port)
      _delay_ms(1000); // Wait one second;
   }
}

它应该在WinAVR上编译,并正确加载。将PORTBDDRB更改为您喜欢的其他端口。请注意,该程序改变该端口上的所有引脚:因此,如果您的端口B有8个引脚,则所有引脚都将闪烁连接到它们的led。不要忘记限流电阻,led是定向的:它们只在一个方向插入时工作,而不是另一个。

最新更新