AVR-GCCで浮動小数点
AVR-GCCでは浮動小数点も使えてしまいます。実際の計算はGCCが生成するコードによってソフトウエアで実行されますので、あまり使うものではありませんけどね。ところでAVR-GCCにおいてdoubleは倍精度ではありません。 by Y.O
AVR-GCCでは浮動小数点も使えてしまいます。実際の計算はGCCが生成するコードによってソフトウエアで実行されますので、あまり使うものではありませんけどね。ところでAVR-GCCにおいてdoubleは倍精度ではありません。 by Y.O
Windows付属のペイントはあまり高度なことはできません。昔から存在する化石のようなソフトでWindows 7でインターフェースが変わったようですが、もともとデモアプリケーションのような存在なのでマイクロソフトも機能を充実させるつもりもないようですね。そこでペイント代替のソフトウエアとしてPaint.NETを紹介しましょう。 by Y.O Read more »
Windowsのタスクマネージャーに不満はありませんか?また、何かのソフトでファイルが開かれており、うまく削除や移動ができずに悩んだことはありませんか。このような問題を解決するためのツールとしてProcess Hackerを紹介します。 by Y.O Read more »
Mac OS X対応を正式にうたったUSBシリアル変換機はとても高かったり、対応していても対応するOSのバージョンが低かったりします。ただ、中身のチップを作ってる会社はMac OS X向けのドライバを開発している場合もありますので、そのようなものを買ってくればあっさりと使えてしまう場合があります。 by Y.O
Read more »
前回のATmega328pとV-USBの続きです。USBaspLoaderはUSBaspと互換のブートローダーです。これがあれば自作のUSB機器をライター無しで書き込むことができます。USBaspと互換があるおかげでavrdude等のUSBaspに対応したソフトウエアがそのまま使えます。
AVRにはソフトウエアだけでUSBデバイスを実現したというV-USBなるものが存在します。これを使うと手持ちのAVRデバイスで手軽にUSBデバイスを作ることができ、数多くのプロジェクトがこれを利用しています。さて、この手軽に使えるドライバですが、ひとつ難点がありましてそのままATmega328pで使おうとするとオートリセットで悩むこととなります。それを解決するためにはusbconfig.hの末尾の#endifの直前に次の一行を挿入しましょう。
#define USB_INTR_VECTOR INT0_vect
これで解決します。原因は外部割り込みの割り込み名に古いタイプの名前が使われていてATmega328pにはその定義がないんですよね。この設定で上書きしてやれば解決できます。by Y.O
Cの仕様では組み込み型(int, short, longなど)のビット幅は決まっていません。環境によってint型のビット幅が32だったり16だったり8だったりします。ですが、マイコンのプログラムをPCに移植する場合などはこれでは困ります。そのため移植性を考えた場合はそれらの型を使う代わりにstdint.hでtypedefされている型を使うべきです。