を追加。
2)mkmacさんは、ATmega163を使われていましたので、ATmega168 用にレジスタを変更。
atros.cに、#if defined (__AVR_ATmega163__)、#elif defined (__AVR_ATmega168__)を追記し
makefile の MCU の設定で切り替えられるようにしました。
違いは、TIMSK -> TIMSK0、 TCCR0 -> TCCR0B でした。
3)動作クロックの変更。8MHz -> 20MHz
usrconf.h #define XTAL 20000000 // crystal frequency - 20MHz
4)makefile には、
# Target file name (without extension).
TARGET = atros
のみの指定で
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c
ここに、アレコレ入れなくても良いつくりになっています。
ユーザーのソースは #include で結合されます。
このサンプルプログラムのダウンロード
led_tsk.c
void led_tsk(void)
{
PORTB = ~PORTB;
Wait_Timer( 50 ); // 50x10ms で、LED点滅
return;
}
PORTBのB0にLEDを取り付けてあります。
Wait_Timer(50)で、500ms周期で led_tsk が呼び出されます。
userini.c には、PORTBの初期設定、Initilal Start Task で、task1 を指定しています。
userconf.h には、#define task_number 1 1つのタスクしかありませんから。
// Task Prototyping
void led_tsk(void);
tdt.h には、dispatch(1,led_tsk()) led_tskのディスパッチを設定。
コンパイラは、WinAVR-20070525 を使用しました。
ターゲットCPUは、ATmega168 20MHz です。
特に画像や動画はありませんが(^_^; LEDが500ms消灯、500ms点灯を繰り返します。
TOPへ戻る