gombeのブログ

マイコンの電子工作系PIC32/KiCad/C/C++/3D/

2017-01-01から1年間の記事一覧

SPIx3でNTSC

PIC32でNTSCシグナルの生成に成功(?)したのでメモ。 こちらがけんけんさんがやってくださったものです。よく書けてるのでこっち見てください。 PIC32MK でNTSCシグナルを生成するとき、普通だったらタイミングに沿ってCPUで出力します。ただ、リソースの問…

マイコンで3D表示(図解)

3D表示に関してここにまとめておきます。 1、座標変換 3DのCGの世界ではカメラを回すのではなく、世界を回します。また、世界を歪めます(透視投影)。しかし線形変換では透視は与えられないので別の方法を使います。 透視はzで割ることで与えられます。しかし…

マイコンで3Dグラフィクス(2)

前の記事 ラインスキャン法による三角ポリゴン描画 うむ。こんにちは。ポリゴン描画にいよいよかかります。こいつがいちばんの難所で速度が出る出ないの境目がここにあります。今回はラインスキャンというCPUで描画するのに適した高速かつ穴のないレンダリン…

マイコンで3Dグラフィクス(1)

マイコンで3D計算というと重すぎるのかと思いましたが以外といけるようなのでそのメモメモ 昔のDSとかPS1とかはFPUが付いていないので固定小数点演算でグラフィクスの処理を行いました。現在ではFPUもあるしハードウェアアクセラレータがありますしこんなこ…

I2Cの使い方 回路編

0、なぜI2C? I2Cは2本の信号線によるシリアル通信の一種です。低速ではあるものの、多数のスレーブに接続できるためセンサーの接続やコントロールICの制御など様々なところで使われます。 I2Cは通信方式がシリアル通信の中でも特殊なため使用する前にその仕…

まだ制限付きのXC32コンパイラ使ってたのか?

XC32コンパイラはMIPS32アーキテクチャのコンパイルツールです。実はこれ、ソースコードがmicrochip社によって公開されてます。これはつまり、「自分でリビルドして制限解除してね」と言っていることになります。 簡単に説明するともともとXC32コンパイラで…

組み込みでのC++の勧め

PICならxc32++,armならarm-g++,など、さまざまなマイコンでc++を利用可能です。例えば32bitCPUならアドレスがリニアに取れることが多いため、オーバーヘッドが少なくてすみます。 そこでc++をつかったプログラミングのススメを書きます。ではなぜC++なのでし…

machiKaniaでマインスイーパー

再帰の展開をしてマインスイーパーを作りました。後の方に載せます。ソースコードはGithubにあげています。うまくカラー表示できてないけど。 以前C言語で作ったものの移植です。マインスイーパー自体は非常に簡潔なコードでかけますが、掘る作業で再帰を用…

MachiKaniatypeZのビデオ再生(完結

あけましておめでとう。(遅い MachiKaniatypeZでカラー動画再生をやったので技術的メモ カラー動画再生をするのですが、出せる色数は16色です。カラーパレットを高速に切り替えないといけません。しかもFPS30だとすると、表示タイミングは1/2となりますが、…