気まぐれなツールチェーンのデリケートな部分を学ぶ必要なくRustで同じことができます。Rustは、スピードとメモリ使用の観点で効率的な信頼性の高いコードへと自然に導くよう設計されています。shこれで入りました。$GitHubGitHubにソース一式をおいておきます。https://github.com/ak1211/irremoconビルド使うだけの人はリリースビルドでよろしく。開発者はデバッグビルドでもよい。初回はとても待つことになる。0.88秒となっているのはすでにビルドした後だったので。ビルドはラズパイ3b+に移行した。できあがった実行ファイル。実行するだけならrustのインストールはいらない。コマンドが見つからないならcargoのインストールディレクトリである”~/.cargo/bin”にパスが通っている事を確認して。赤外線リモコン信号の記録irrecを実行してIRモジュールに手持ちのリモコンを向けてボタンを押すとコードが見られる。あとはコピーして上のページに貼り付けたら内容が見える。見えなければ記録に失敗していると思う。ここでteeを入れているのは標準出力のついでにファイルに記録するため。ハードウェアPWMを使うのにsudoするのも使いにくいのでこのように設定を追加します。注意点バックスラッシュの後に空白をいれない。バックスラッシュは日本語環境では¥記号に見える。$ピッと言って扇風機が回り出した。赤外線LEDの点灯は肉眼で見えないのでカメラを通して見る。バラスト抵抗がないので赤外線LEDに流れる電流を制限する物は電源のインピーダンスとNOTゲートの抵抗のみだから写真を見ての通りかなり強烈な電流が流れているようだ。このくらいならデバイスが耐えている。上の実験回路は赤外線LEDを抵抗無しでつないでいるから真似しない。まじめに設計した以下の回路でよろしく。“赤外線リモコン信号を記録して送信する学習リモコンをラズパイゼロでつくる。PMこんにちわ、はじめまして。公開されているプログラムを拝見いたしました。ありがとうございます。試してみましたが同様の結果となりました。結果として出力値が再現性のないものとなっております。制御遅れの補正がなされていることから、貴環境でも似たような現象が観測されたかと思いますが、なにかこれに関する知見がございましたらご回答いただければ幸いです。AMコメントありがとうございます。ラズパイゼロはシングルコアなので送信プログラムはOSのスケジューラによって他のプロセスに制御が渡されている時間は無反応となります。他プロセスとの状況によって変化するために再現が難しくなっていると考えます。ソフトウェアはおそらく100マイクロ秒単位で間に合うと思います。これ以上の原因究明はオシロスコープやロジックアナライザでリモコン信号との違いを調べる必要があります。最悪286マイクロ秒遅延するようです。自プロセスの優先度を上げるなり他プロセスを終了させるなどの対策が必要かもしれません。AMcyclictestの結果は当方でも似たような状況です。ご教授いただいたあたりを探っていきたいと思います。ご回答、ありがとうございました。