風で飛んでいくチラ裏

気ままに雑記メモ書き殴り。古い記事は別blogからの引っ越しなのでレイアウトがアレです。

PIC

MPLAB IDEの起動の仕方によってカスタムビルドコマンドが失敗する?

PIC

手短に MPLAB IDEのビルドからカスタムビルドを実行する場合、これは当然、IDEの実行時のディレクトリがカレントディレクトリになってるので、直でIDE起動した場合とプロジェクトファイルから起動した場合で違いを吸収できるようにマクロを使いましょうね。…

MPLAB C18 Compilerはデフォで整数昇格してくれないよ

PIC

はじめに MPLAB C18 CompilerはマイコンのPIC18シリーズ向けのCコンパイラです。 unsigned short bit_ptn = 0x0000; int i; for(i = 0; i < 16; i++){ bit_ptn |= 1 << i; } /* このときのbit_ptnの値は?? */ ループを抜けたときのbit_ptnの値は 0xFFFF に…

for文の中のコンマ

PIC

※PICで書いたけど普通の(?)Cでも多分同じ #define MAX 64 int i; char str[MAX]; /* strにMAXまで文字を入れる適当な処理 */ for(i = 0; i < MAX, str[i]; i++){ putchar(str[i]); } こんな文があると、for文終了の評価は (i < MAX) は実行されるが評価され…

PIC18F46J50 ECCPのコンペアマッチ・スペシャルイベントトリガでA/D変換がFire!

PIC

概要 ECCPのコンペアマッチ・スペシャルイベントトリガを使用すると、 もれなくコンペアマッチのタイミングでA/D変換開始のトリガが発行されるよ! できるだけ正確な時間カウントをしたいと思ったとき、 タイマのオーバフローを使ってもできるっちゃできるん…