C-Styleで独自関数定義

ふと思いついたことを試す。

▼NewFile-00

▼NewFile-01

・「}」で始める。
・「}」で終わらない。


でビルドするとビルドパス中のUser.cはこうなり、エラーにならず成功する。
サブルーチン中で関数定義するのがミソ。

#include "D_Main.h"
#include "D_I2C.h"
#include "D_SIO.h"
//--------------------------------------------------------------------------------
// Functions
//--------------------------------------------------------------------------------
void user_sub_1(void);
void user_main(void);
//--------------------------------------------------------------------------------
// Program Name : NewFile-01.C
//--------------------------------------------------------------------------------
void user_sub_1(void)
{
      	// 自作関数定義の為のダミーサブルーチン
    }
    void disp_var(BYTE x) {
        char str[16+1];
        sprintf(str, "[%c]%ld", 'A' + x, gV[x]);
        tx_puts(str);
    }
    void disp_ln() {
        tx_putc('\r');
        tx_putc('\n');
}
//--------------------------------------------------------------------------------
// Program Name : NewFile-00.C
//--------------------------------------------------------------------------------
void user_main(void)
{
    while (TRUE) {
        gV[VAR_C] = 1023;
        gV[VAR_A] = gV[VAR_C] - gAD[CN3];
        gV[VAR_B] = gV[VAR_C] - gAD[CN4];
        disp_var(VAR_A);
        disp_var(VAR_B);
        disp_ln();
        wait_ms(1000);
    }
    user_sub_1();
}
//--------------------------------------------------------------------------------


こうまでしてC-Styleを使う意味はないかもしれないが、変数の値を表示するなど汎用的に使う構文はサブルーチン中でCの関数として定義しておくと大変便利。