組み込みC/C++

C/C++リテラシー向上のためのページ

2013-10-01から1ヶ月間の記事一覧

ビットフィールドを掘り下げる①

ビットフィールドを指定した場合、一般には下のような書き方をします。 struct StBit0 { unsigned btFirst: 1; unsigned btSecond: 1; unsigned btNull: 5; unsigned btLast: 1; }; 今回注目したいのはビットフィールドで宣言した構造体変数のサイズについて…

ポインタでやってしまうミス③

ポインタというよりかは、演算子の優先順位に関する物ですが、ミスしがちかなと思いましたので切り取っておきます。 Pattern 4 #include <stdio.h> void mesurement(unsigned int *iChk, unsigned char cNum); int _tmain(int argc, _TCHAR* argv[ ]) { unsigned int </stdio.h>…

volatileの使い方②

volatileの使い方としてvolatileの使い方①で説明しました。ここではその続きとして他のパターンを見てみたいと思います。 Pattern 5 unsigned int iTimer;#pragma interruptvoid Interrupt1msecTimer(void){ if(iTimer){ iTimer--; }}void PortWait(void){ i…

バイナリとテキスト②

テキストがバイナリのサブセットな為、基本的にはバイナリと言っていれば間違いではないのですが、それでもテキストとバイナリは意識して使い分けています。(以下は私の解釈なので一般的ではないかもしれません) テキストファイルとバイナリファイルというと…

バイナリとテキスト①

バイナリとテキストが並列関係にあるものと誤解する場合が見られますが(直積集合である順序対の関係と勘違いしている。) テキストはバイナリのサブセットであり、バイナリはテキストのスーパーセットです。 テキスト ⊂ バイナリ(テキストはバイナリの部分集…