Keil Logo

ユーザ関数

ユーザ関数は、µVision4 デバッガで使用するためにユーザが作成する関数です。ユーザ関数を関数エディタに直接入力することも、INCLUDE コマンドを使用して 1 つまたは複数のユーザ関数が記述されたファイルをロードすることもできます。

  • µVision4 には、ユーザ関数で使用できるさまざまなシステム変数が用意されています。詳細については、「システム変数」を参照して下さい。

ユーザ関数は FUNC キーワードで始まり、次のように定義されます。

FUNC return_type fname (parameter_list) {
  statements
}
return_type 関数によって返された値の型で、bit、char、float、int、long、uchar、uint、ulong、void のいずれかです。関数が値を返さない場合、void を使用できます。戻り値型が指定されていない場合、int 型とみなされます。
fname 関数の名前です。
parameter_list 関数に渡される引数のリストです。各引数には型と名前が必要です。関数に引数が渡されない場合は、parameter_list に対して void を使用します。複数の引数はコンマで区切ります。
statements 関数が実行する命令です。
{ 開き括弧です。開き括弧の数が閉じ括弧(})の数と一致したときに、関数の定義が完了します。

次のユーザ関数は、複数の CPU レジスタの内容を表示します。詳細については、「関数の作成」を参照して下さい。

FUNC void MyRegs (void) {
  printf ("---------- MyRegs() ----------\n");
  printf (" R4 R8 R9 R10 R11 R12\n");
  printf (" %04X %04X %04X %04X %04X %04X\n",
            R4,  R8,  R9,  R10, R11, R12);
  printf ("------------------------------\n");
}

この関数を呼び出すには、[コマンド](Command)ウィンドウに次のように入力します。

MyRegs()

MyRegs 関数を呼び出すと、レジスタの内容が次のように表示されます。

---------- MyRegs() ----------
 R4   R8   R9   R10  R11  R12
 B02C 8000 0001 0000 0000 0000
------------------------------

ユーザ関数を呼び出すための[ツールボックス](Toolbox)のボタンを定義できます。

DEFINE BUTTON "My Registers", "MyRegs()"

制約

  • ユーザ関数の戻り値が、関数の戻り値型に一致するかどうかが自動的にチェックされます。void 戻り値型の関数は、値を返すことができません。void 以外の戻り値型の関数は、値を返す必要があります。有効な戻り値の各戻りパスは自動的にチェックされないので注意して下さい。
  • ユーザ関数は、シグナル関数または twatch 関数を呼び出すことができません。
  • ローカルオブジェクトの値は、値が割り当てられるまで定義されません。
  • ユーザ関数を削除するには、KILL FUNC コマンドを使用します。
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.