ライブラリ, ボット, OS, タイマ, 編集中, C言語
その他
Controllerの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- ファイルの説明
- インクルード
- コントローラの使用開始
Controllerとは、このページで紹介したコントローラーを制御するものです。このヘッダファイルにある関数でコントローラーからのスイッチ情報を読み取りどのボタンが押されているかを判断します。Controllerができることは次の通りです。
- ボタンが押されている間もそのボタン入力を検出すること(トリガー形式)ができます
- ボタンが一回押されてそのあとも押されているときはそのボタン入力を検出しないこと(非トリガー形式)ができます
- インスタンス生成でコントローラーを簡単に追加できます
- ボタンの同時入力に対応しています
Controllerを改良、強化、何でもしてください(;´∀`)
ここでは, Controllerの基本的な説明を行います. 説明項目は以下のとおりです.
- ボタン数,ピン設定
- ボタン番号設定
- スイッチ情報の読み込み
このページでは, 筆者が作成したライブラリが置かれます.
ここでは, OSの設定方法について説明します.
設定ファイルは,ArduinOSConfig.h
です. このファイル内にOSの設定を書きます. また, 設定ではハードウェアの基本構成に加え, 各機能の有効化, システムフックを行うか, などといった設定を行えます.
OSがタスクの切り替えを行うためには, 定期的にOSが現在実行中のタスクの処理を中断してタスク切り替え処理を行う必要があります.
ここでは, このようなOSが定期的に割り込み処理を行う方法を説明します. また, 割り込み時の処理について説明します.
Summary
PortMacro.hで宣言されているOSコア部分の関数をここで定義します. このファイルはAVRマイコン専用です.
それぞれのタスクにはそのタスクの状態というものがあります. 今回のOSでは, このタスクの状態を状態リストを用いて判別することにします. 以下から, タスク状態の種類, 状態リストの構造, リストを用いたタスク状態の切り替え方法を詳しく見ていきます.
各タスクごとに割り当てられるメモリの管理
ここでは, C言語に関する詳細を説明します.
C言語には, マクロと呼ばれるものがあります. マクロとは, コンパイル前にある規則に従って文字を置き換える機能を持ちます[1].
ここでは, マクロの詳しい機能の説明を行います.
タスクを管理するにあたり, 各タスクの情報を保持しておく必要があります. このような情報の塊をタスクコントロールブロック(TCB)と呼びます.