Skip to main content

IAR Embedded Workbench for Arm 9.70.x

__read

このセクションの内容:
ソースファイル
arm\src\lib\file\read.c
宣言

LowLevelIOInterface.h

説明

stdinおよびファイルから文字を読み込む低レベル関数

C-SPY、デバッガ処理

stdinを[ターミナルI/O]ウィンドウに送ります。他のすべてのファイルは関連のホストファイルを読み込みます。

デフォルトの実装

なし。

この例のコードは、メモリマップドI/Oを使用してキーボードから読み取ります。キーボードのポートはアドレス0x1000に配置されていると仮定されています:

#include <stddef.h>
#include <LowLevelIOInterface.h>
__no_init volatile unsigned char kbIO @ 0x1000;

size_t __read(int handle, 
              unsigned char *buf,
              size_t bufSize)
{
  size_t nChars = 0;

  /* Check for stdin 
     (only necessary if FILE descriptors are enabled) */
  if (handle != 0)
  {
    return -1;
  }

  for (/*Empty*/; bufSize > 0; --bufSize)
  {
    unsigned char c = kbIO;
    if (c == 0)
      break;

    *buf++ = c;
    ++nChars;
  }

  return nChars;
}

ストリームに関連するハンドルの詳細については、再ターゲット — ターゲットシステムへの適合を参照してください。

@演算子の詳細は、データと関数のメモリ配置制御を参照してください。

関連項目

再ターゲットの概要.