サンプルプログラム > デジタル入出力 >

GCC

開発環境の設定

  1. 以下のファイルをプロジェクトフォルダにコピーします(GCCサンプルに含まれています)
    YduApi.h
    YduDioApi.h
    YduResult.h

  2. ソースファイルにYduApi.h, YduDioApi.h, YduResult.hをインクルードします(下記プログラム例を参照して下さい)

  3. リンク時はライブラリとリンクするために以下を追加してください(GCCサンプルのmakefileも参考にしてください)

    -L/usr/lib/y2c -lydu
    

プログラム例

#include <iostream>
#include "YduApi.h"
#include "YduDioApi.h"
#include "YduResult.h"

int main()
{
    // IDが0に設定されているAIO-84/16/32A-Uをオープンします
    uint16_t unit_id = 0;
    int32_t result = YduOpen(unit_id, "AIO-84/16/32A-U");
    if (result != YDU_RESULT_SUCCESS)
    {
        std::cout << "オープンできません" << std::endl;
        return 1;
    }

    // IN0~15の入力をおこないます
    uint8_t input_data[16];
    result = YduDioInput(unit_id, input_data, 0, 16);
    // 入力データの表示
    for (uint32_t i = 0; i < 16; i++)
    {
        std::cout << "IN" << std::dec << i << ": " << (uint16_t)input_data[i] << std::endl;
    }

    // OUT0~31の出力をONします
    uint8_t output_data[32];
    for (uint32_t i = 0; i < 32; i++)
    {
        output_data[i] = 1;
    }
    result = YduDioOutput(unit_id, output_data, 0, 32);

    // ユニットをクローズします
    result = YduClose(unit_id);
    return 0;
}