可変長引数マクロ

久々にプログラミングの話題です。 さて、AVRでは適切な初期化を行えばprintfを用いることができます。また、avr-gccはデフォルトでは文字列定数をRAMに配置しますが、適切な記述を行うことでROMに配置することが … “可変長引数マクロ”の続きを読む

AVR-GCCで浮動小数点

AVR-GCCでは浮動小数点も使えてしまいます。実際の計算はGCCが生成するコードによってソフトウエアで実行されますので、あまり使うものではありませんけどね。ところでAVR-GCCにおいてdoubleは倍精度ではありませ … “AVR-GCCで浮動小数点”の続きを読む

Windowsで画像編集

Windows付属のペイントはあまり高度なことはできません。昔から存在する化石のようなソフトでWindows 7でインターフェースが変わったようですが、もともとデモアプリケーションのような存在なのでマイクロソフトも機能を … “Windowsで画像編集”の続きを読む

Mac OS Xでシリアルポート

Mac OS X対応を正式にうたったUSBシリアル変換機はとても高かったり、対応していても対応するOSのバージョンが低かったりします。ただ、中身のチップを作ってる会社はMac OS X向けのドライバを開発している場合もあ … “Mac OS Xでシリアルポート”の続きを読む

ATmega328pとV-USB

AVRにはソフトウエアだけでUSBデバイスを実現したというV-USBなるものが存在します。これを使うと手持ちのAVRデバイスで手軽にUSBデバイスを作ることができ、数多くのプロジェクトがこれを利用しています。さて、この手 … “ATmega328pとV-USB”の続きを読む

SRAM節約:定数をプログラムメモリーに

avr-gccではconstがついている変数でも一度SRAMに値をコピーしてから実行します。数byte程度ならば問題ありませんが巨大な文字列テーブルを確保する場合などには結構SRAMを圧迫します。しかもこれらの領域は使用 … “SRAM節約:定数をプログラムメモリーに”の続きを読む

ビット幅が固定の型

Cの仕様では組み込み型(int, short, longなど)のビット幅は決まっていません。環境によってint型のビット幅が32だったり16だったり8だったりします。ですが、マイコンのプログラムをPCに移植する場合などは … “ビット幅が固定の型”の続きを読む