Skip to main content

IAR Embedded Workbench for Arm 9.70.x

__write

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

LowLevelIOInterface.h

説明

stdoutstderrまたはファイルに書き込む低レベル関数。

C-SPY、デバッガ処理

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

デフォルトの実装

なし。

この例のコードは、メモリマップドI/Oを使用してLCDディスプレイに書き込み、そのポートがアドレス0x1000にあると想定しています。

#include <stddef.h>
#include <LowLevelIOInterface.h>

__no_init volatile unsigned char lcdIO @ 0x1000;

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

  /* Check for the command to flush all handles */
  if (handle == -1)
  {
    return 0;
  }
  
  /* Check for stdout and stderr 
     (only necessary if FILE descriptors are enabled.) */
  if (handle != 1 && handle != 2)
  {
    return -1;
  }

  for (/* Empty */; bufSize > 0; --bufSize)
  {
    lcdIO = *buf;
    ++buf;
    ++nChars;
  }

  return nChars;
}

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

関連項目

再ターゲットの概要.