アライメントのなく頃に 目明し編

AS「君の速さに対する情熱は、保守性を凌駕した。さあ、解き放ってごらん。その新しい技術を!」 通常、.alignというPseudo命令はバイト境界を調整するために使います。例えば、32ビットのデータを4の倍数のアドレスに … “アライメントのなく頃に 目明し編”の続きを読む

遅延回路に適したダイオードとは?

スラマッマラム N.C.です。 注意:ここでの遅延回路は、モータドライバにおいてデッドタイム生成用の遅延回路のことです。また、ダイオードは「一方通行」ですが、何も「アクセラレイト(加速)」してはくれません。 以前、ショッ … “遅延回路に適したダイオードとは?”の続きを読む

alignの罠

あ…ありのまま 今 起こった事を話すぜ!『データのアライメントをしようと思ったらいつのまにかメモリを大量消費していた』コンパイルミスだとかリンカのバグだとかそんなチャチなもんじゃあ 断じてねえもっと恐ろしいものの片鱗を味 … “alignの罠”の続きを読む

モータのエル

スラマッマラムー N.C.です。 コイルは天邪鬼です。どれだけ天邪鬼なのかを表す値が自己インダクタンスです。モータはコイルです。従って、自己インダクタンスを持ちます。では、その値はいくらぐらいなのでしょうか?先日、実際に … “モータのエル”の続きを読む

1の個数を数える(in assembler)

マイコンなどの低レベル処理をしているとビットを意識した処理を行うことが多いです。パリティ、CRCなどが代表的です。 今回はその仲間である「1となっているビットの個数を数える」方法の高速化を紹介します。 通常は1ビットずつ … “1の個数を数える(in assembler)”の続きを読む

ちょっと反省

スラマッスィアンー N.C.です。 前回投稿した、SBDに関する記事ですが、Qの求め方省略していました。しかし、この前まで考えていたよりもはるかに簡単に計算できることに気づいたので、その方法で計算しなおし、計算方法もうp … “ちょっと反省”の続きを読む

可変長引数マクロ

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