How to Compile (コンパイルのしかた)


@プログラムをクリップボードにコピーする。
プログラムの先頭にポインターを合わせ左ボタンを押したままプログラムの終わりまで ポインターを持ってゆき左ボタンをはなすと下の画面のようになる。その状態でCtrlキーと Cキーを押すとクリップボードにコピーされます。

copy_program.jpg

Aクリップボードにあるプログラムをコンパイラのソースファイルにコピーしコンパイルする。
コンパイラは「AVR studio + winAVR」か「Atmel Studio]を使います。
AVR studioかAtmel StudioでNew Project(プロジェクト名、ファイル名は同じでよい)を作り、 ファイルにはクリップボードにあるプログラムをコピーします。(テキスト画面を更にし、CtrlキーとVキーを押す)
あとは、コンパイルすればHEXファイルが生成されます。






AVRマイコンでLEDを点滅させる


How to Compile (コンパイルのしかた)の説明用例題としてLEDを点滅させてみました。

led_on_off_kairo.gif

回路図


led_on_off_bb.JPG

実験風景

/*
 *  led_on_off.c
 *  PB0のLEDを点滅させる。
 *  ATtiny2313
 *
 *
 *  Fuses
 *              Int. RC Osc.
 *              8MHz
 *  EXTENDED    0xFF
 *  HIGH        0xDB
 *  LOW         0xE4
 */


#include <stdio.h>
#include <avr/io.h>
#define F_CPU 8.0E6                 /* 8 MHz */
#include <util/delay.h>

///void delay_us(unsigned short t){while(t--) _delay_us(1);}
void delay_ms(unsigned short t){while(t--) _delay_ms(1);}

int main(void)
{
    /* ATtiny2313 */
    DDRA = 0b00000000;      /* xxxxx xxxxx xxxxx xxxxx xxxxx RESET XTAL2 XTAL1 */
    DDRB = 0b00000001;      /* SCK   MISO  MOSI  ----- ----- ----- ----- LED   */
    DDRD = 0b00000000;      /* xxxxx ----- ----- ----- ----- ----- ----- ----- */
    PORTA = 0b00000011;
    PORTB = 0b11111110;
    PORTD = 0b01111111;

    while(1){
        PORTB |= _BV(0);    /* LEDオン */
        delay_ms(500);      /* インターバル 500mS */
        PORTB &= ~_BV(0);   /* LEDオフ */
        delay_ms(500);      /* インターバル 500mS */
    }
}


真空管
戻る