0

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

4

1 回答 1

0

Whereas for PC's the usual first program is "Hello, World!", in the embedded world (one lacking displays, as least to start with, the equivalent is the blinky led: you attach a LED to some output pin of your processor (don't forget the current-limiting resistor!: you need a resistor in series with the LED), and you make the LED blink. You can find plenty of blinky LEDs for AVR, but we can write one right here:

// 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;
   }
}

It should compile on WinAVR, and load correctly. Change PORTB and DDRB to some other port of you'd like. Note that this program changes all the pins on that port: so if your port B has 8 pins, all of them will blink a led hooked up to them. Don't forget the current-limiting resistors, and that LEDs are directional: they only work when plugged in one way, and not the other.

于 2013-04-04T03:26:28.073 回答