2006-05-21
ベータ版なのでちょっと心配だけど、趣味でやってるんだから気にすることもない、というわけでインストールしてみた。
起動が早くなった。
User ModulesにLED、LED7SEGが追加された。
このうちLEDについてちょっと実験してみた。
データシートから一部引用する。
Features and Overview
•Support for both Active High and Active Low circuits
•Works with system shadow registers
•Functions (Switch, Invert, and GetState )
The LED User Module is just a couple simple functions to control an LED or any simple device that is controlled by on and off.
単にLEDを光らせるだけではなく1ビットの出力ポートとして使える。
ポートをLEDに設定すると出力は自動的にStongになる。
Device Editorで他の設定(たとえばStrong Slow)にしてもいいのだろうか?
そこで実験。
LED_1からLED_4を設定し、それぞれの出力をDevice EditorでStrong,Strong Slow,Open Drain Low,Open Drain Highとしておく。
次のプログラムを走らせて、出力をオシロで見てみる。
void main()
{
LED_1_Start(); // Active High,Strong
LED_2_Start(); // Active High,Strong Slow
LED_3_Start(); // Active High,Open Drain Low
LED_4_Start(); // Active High,Open Drain High
LED_1_Switch(1);
LED_2_Switch(1);
LED_3_Switch(1);
LED_4_Switch(1);
while(1) {
LED_1_Invert();
LED_2_Invert();
LED_3_Invert();
LED_4_Invert();
}
}

実験の様子、LEDは左からStrong,String Slow,Open Drain Low,Open Drain High。
Open Drain Lowが点灯ないのは当たり前。

上はOpen Drain High、下はStong
ちょっとピンぼけ(汗
Device Editorで設定した通りに動いている。
Comment