各種機能の使い方 - 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();

};

参考例:app.cppにvoid Game()関数内でM1.SetDuty(50)を使いたいときのやり方

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();

/******************************************************************************************************/