各種機能の使い方 - MtLord/KRP_Central_micon GitHub Wiki
すべての低レイヤーのクラスのインスタンスはLibraries->LowlayerHandel.hppにあるLowlayerHandelTypedef
という構造体にまとめてある。
この構造体からsrc->main.cppのmain文に生成してあるhlow
インスタンスを使うことですべての機能にアクセス可能となる。
コード例:モータ1のデューティを50に設定する。
hlow.M1.SetDuty(50);
プログラムは必ず if(IntFlag)のカギカッコの中の
/write your application code******************************************/ と書いてある間に書くこと。ここに書かないと制御周期を満たした動作はできない。
自分で作ったクラス内で使いたい場合は、LowlayerHandelTypedef
型のポインタ変数を作り、インスタンスの引数を使って'hlow'の参照を渡して使う。以下にやり方を書いた。
参考例:app.hppにAppクラスを作った場合
#include "Libraries/LowlayerHandel.hpp"
` class App {
private:
LowlayerHandelTypedef *plow;
public:
App(LowlayerHandelTypedef *_plow):plow(_plow){
}
void Game();
};
M1.SetDuty(50)
を使いたいときのやり方
参考例:app.cppにvoid Game()関数内でvoid App::Game(){
plow->M1.SetDuty(50);
//private:内で宣言した*plow
ポインタ変数を使ってアクセス
}
main文内でのインスタンス生成時に引数にhlowの参照を渡す
App app(&hlow);
/*************************************/
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1) { /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(IntFlag)
{
/write your application code******************************************/
app.Game();
/******************************************************************************************************/