組み込み型
このドキュメントは、IDEでプログラミングする際に使用できる多くの組み込み型のリファレンスとして機能します。 コマンドラインツールを使用するプログラマは、wirish.hをインポートしている限り、これらのタイプにアクセスできます。 いくつかはlibmaple_types.hで定義されています。
整数的な型
table:整数的な型
型 説明
char 8ビット符号なし整数値、unsigned charと同義語
signed char 8ビット整数値
short int 16ビット整数値
int 32ビット整数値
long 32ビット整数値
long long 64ビット整数値
int8 8ビット整数値 、 signed charと同義語
uint8 8ビット符号なし整数値 、unsigned charと同義語
byte 8ビット符号なし整数値、 unsigned charと同義語
int16 16ビット整数値 、 shortと同義語
uint16 16ビット符号なし整数値. unsigned shortと同義語
int32 32ビット整数値 、int.
uint32 32ビット符号なし整数値 、 unsigned intと同義語
int64 64ビット整数値、long long
uint64 64ビット符号なし整数値 、unsigned long longと同義語
(注意)
Arduino STM32では、ARM搭載Arduinoと同様にchar型は8ビット符号なし整数値となることに注意して下さい。
Arduino及びMapleではchar型は符号ありの8ビット整数値であるため、Arduinoのコードを利用する場合は、条件判定等の処理で意図しない動作となる場合があります。
浮動小数点型
table:浮動小数点型
型 説明
float 32ビット, IEEE-754 単精度浮動小数点数
double 64ビット, IEEE-754 倍精度浮動小数点数
関連項目
その他の型
voidFuncPtr型
引数をとらず何も返さない関数へのポインタ。
code:voidFuncPtr
typedef void (*voidFuncPtr)(void);
bool型
ブール型
C99/C11に準拠した型を利用しましょう!
Arduino STM32環境でコードを書く場合、移植性を考えてC99/C11に準拠した型を利用することが望ましいです。
(Arduino STM32のGCCコンパイラはC11準拠です)
最近のArduinoスケッチのC99/C11に準拠した次の型を利用してコードがかかれています。
table:C99/C11に準拠した型
型 説明
int8_t 8 ビットの符号付き整数
uint8_t 8 ビットの符号なし整数
int16_t 16ビットの符号付き整数
uint16_t 16ビットの符号なし整数
int32_t 32ビットの符号付き整数
uint32_t 32ビットの符号なし整数
int64_t 64ビットの符号付き整数
uint64_t 64ビットの符号なし整数
intptr_t ポインタと同じサイズの符号付き整数
uintptr_t ポインタと同じサイズの符号なし整数
C99/C11に準拠した型はヘッダーファールsdtint.hをインポートすることで利用出来ます。
#include <stdint.h>
このヘッダーファイルはスケッチ(xxxxx.ino)の場合は自動でインポートされます。
自作のライブラリ等(xxxx.h、xxxx.cpp)でC99/C11に準拠した型を利用する場合は、明示的にsdtint.hをインポートをインポートして下さい。Arduino.hをインポートでも間接的にインポート出来ます(通常はこちらでよいでしょう)。
上記の型を使うことで、利用するプラットホームによってサイズが異なるint型、char型の符号有無から発生する不具合を回避することが出来ます。
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。