簡単な組み込みプログラミング: 割り込みをプログラムする方法

発行者

3番目のビデオでは、割り込みを紹介し、複雑なアプリケーションを管理するために割り込みをプログラムする方法を示します。

最初のビデオでは、プッシュ ボタンとLEDを駆動するピンを直接接続しました。2番目のビデオでは、CyDelay関数を使用してLEDを1 Hzで切り替える必要がありました。ほとんどの場合、これらはマイクロコントローラを使用するための最適化された方法ではありません。特定のアクションを実行するために割り込みをトリガーし、その後、マイクロコントローラを解放してより多くのタスクを実行し、複雑なアプリケーションを管理したり、低電力モードにしてアプリケーションの平均電流消費を減らしたりする方が適切です。

  
 
この新しいプロジェクトでは、赤色LEDが再びポート2ピン6に接続され、ピン レベルとしてのハードウェア接続がないため、LEDのオン/オフは割り込みとCコードによって処理されます。

スイッチを検出するための入力ピンが閉じています。スイッチは閉じているときにグランドに接続されるため、このピンは立ち下がりエッジでの割り込み、抵抗プルアップとしての駆動モード、およびハイでの初期駆動状態を使用して構成する必要があります。その後、割り込みコンポーネントを接続できます。割り込みコンポーネントの名前はPin_SW_Intです。 

利用可能なAPIに関するすべての情報はデータシートに記載されています。割り込みを検出するには、ハンドラーの名前をパラメータとして持つ関数Pin_SW_Int_StartExがジョブを実行します。CY_ISR関数を呼び出し、赤色LEDを点灯し、割り込みをクリアします。

 

LEDを自動的に切り替えるには、タイマーとして構成されたTCPWMコンポーネントを割り込みコンポーネントに接続します。計算を簡単にするために、32 kHzクロックがタイマーに供給され、周期は32,000カウントにプログラムされます。したがって、割り込みは1秒ごとにトリガーされます。 


Cコードも非常にシンプルです。タイマーを開始し、割り込みを検出して割り込みサービス ルーチンを呼び出す必要があります。その後、LEDが切り替わり、割り込みがクリアされます。
 
 

最新ビデオ

Sorry, your filter selection returned no results.

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here