KC's notebook

雑記(備忘録)

このHP、「備忘録」とか言っておきながら備忘録なんてひとつもありゃしないので、本当の備忘録としてこのページを作成。備忘録としてのメモや、他愛もない話などを書き綴ります。「ブログでいいじゃん。」とか言われそうですが、そこはスルーでお願いします。

一覧

AtmelStudioでのchar型(20130711)

AVRマイコンの開発でとてもお世話になっている統合開発環境「atmelStudio(元avrStudio)」ですが、使っていて大変な目にあったことがあります。それがchar型の宣言。あの統合開発環境、デフォルトだとchar型で変数宣言するとなぜか[signed char]ではなく[unsigned char]になってしまいます。なので、「char型変数でデクリメントとか使いながら変数がマイナスになるまでループっ!」とかやっていると無限ループになりますよ。ちなみにプロパティの設定で[char]→[singed char]変更可能です。

C言語での2進数表記(20130711)

最近まで知らなかったのですが、「0b・・・」っていう2進数表記は、標準ではサポートされていないんですね。どんなCコンパイラでも使えると思っていました。因みに16進「0x・・・」はサポートされています。なので数値を書くときは10進か16進で書きましょう!

AVRの内部クロック(20130711)

AVRの内部クロックはかなり個体差があります。「クロックは8MHzだからボーレート設定はこれでok(てへぺろ)」とか言っていると、うまく動かなかったり…。もし動作しないことがあったら、プログラムや回路だけでなく内部クロックも疑いましょう。

RX62NのUART送受設定(20130712)

某2chで話題に上がっていたのですが、UARTの送受信設定をするときは、あるレジスタの送信許可ビットと受信許可ビットを同時に1にしないと、送受信許可設定に出来ないという仕様らしいです。私も試してみたのですが、確かに別々に許可すると、後に許可したほうしか動作しませんでした……なんだよこの糞仕様…

#pragma once(20130712)

よく、2重インクルード防止用に「#ifndef~」という書き方をするのですが、「#pragma once」という書き方もできるのですね。でも、これもCの標準サポートではないらしいので「#ifndef~」で防止したほうが無難かも。

AVR C言語 制御 その他
inserted by FC2 system