PSoC 4 BLE で、Lチカしてみる(2)
yamagoya.hatenablog.jp
前回は、コードによって点滅させましたが、せっかくのPSoCですので、回路を使って点滅させます。
1. プロジェクトの作成
プロジェクトを作成します。
2. コンポーネントを配置する
2-1. コンポーネントの配置
Component Catalog から、
・Clock
・PWM(TCPWM mode)
・Digital Output Pin
を持ってきて、配置する。
各コンポーネントがつながるように気をつけてください。
2-2. Clockコンポーネントの設定
2-3. PWM(TCPWM mode)コンポーネントの設定
2-4. Digital Output Pinコンポーネントの設定
2-5. 配線
LED02.cydwr を開き、LEDを P2[6] につなぐ
「Generate Application」ボタンを押す
3. コードを書く
Workspace Explorer から main.c を、開く。
PWM_Start();
を1行足して....
#include <project.h> int main() { CyGlobalIntEnable; /* Enable global interrupts. */ PWM_Start(); for(;;) { /* Place your application code here. */ } }
4. 動作の説明(ざっくり)
コードは、PWMを開始だけして、あとはなにもしていません。
点滅は、回路側で行っています。
PWMは1000カウント周期で動作します(Priodの値)。Clockが1KHzなので、1秒周期で繰り返し動作します。クロックがCompare値より小さい時は、LEDは、Lowになり、大きいときは、Highになります。
Programボタンを押して、実行
設定やコードに間違えがなければ、LEDが点滅を始めます。
5. おまけ
PWMの設定を変えてみます。
Compareの値を小さくすると、間隔はそのままに、点灯時間が短くなります。