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