可変長引数マクロ

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

Ubuntu/DebianでAVR

ご無沙汰しております。最近、全く更新されていないので活動してないかと思われていそうで、実際にInRoF終了後はあまり活動していないt-semiです。本当は学部2年生あたりやInRoFの製作日誌を書いた人に結果なりネタなり … “Ubuntu/DebianでAVR”の続きを読む

AVR-GCCで浮動小数点

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

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に移植する場合などは … “ビット幅が固定の型”の続きを読む