無料ブログはココログ

« Arduinoでもっと電子工作を4 | トップページ | Arduinoでもっと電子工作を6 »

2021年5月 6日 (木)

Arduinoでもっと電子工作を5

Lesson4

型宣言

Arduinoは型宣言が必要...との指摘を頂きました。一連の記事で毎回グローバル定義に出てきますので、ここらでデータ型をご紹介します。Arduino 日本語リファレンスからの引用です。

バイト数 範囲 備考
bool 1byte true - false  
char 1byte -128 - +127 char myChar='A'; char myChar=65;
unsigned char 1byte 0 - 255 byte型の使用を推奨
byte 1byte 0 - 255  
int 2byte -32768 - +32767 符合あり
unsigned int 2byte 0 - 65535  
word 2byte 0 - 65535  
long 4byte   符合あり
unsigned long 4byte    
float 4byte   浮動小数点型
double 8byte   Dueで有効
void     値を返さない関数、値の無い引数

陥りやすいのは範囲のオーバーフローと、よく使いがちなintで符合反転に気づかない事でしょうか。皆さんは間違ったbool型を使う事は無いと思いますが、つい先日コピペして気づかずカウンターにbool型を使ってしまい、時間を浪費しました。

幅指定整数型

詳細未確認で恐縮ですが、インクルードファイル(xxx.h)でbyte型などを定義するとエラーで弾かれる事があります。スケッチをビルドするとArduino.hヘッダーファイルが暗黙的にインクルードされるとの事ですが、ヘッダーファイルのそものは例外のようです。システムでインクルードされるホルダを調べたところ、Common.hに typedef uint8_t byte;の記述がありました。自作のxxx.hファイルには#include <Arduino.h>を記述するか、uint8_t、uint16_tなどの幅指定型で定義すると良いでしょう。

 

« Arduinoでもっと電子工作を4 | トップページ | Arduinoでもっと電子工作を6 »

電子工作」カテゴリの記事

コメント

この記事へのコメントは終了しました。