n_shinichi’s blog

日々の備忘録、 趣味のあれこれなど紹介 (すみません、メニュー、リンク、カテゴリー分けがうまくできてません、★記事一覧★で見てください...) NHK魔改造の夜ではDンソーのベテランアドバイザーってことで出ました♪

MENU

ESP01のポートの動作の確認してみた。 その2 超高速 Arduinoらしくない使い方 おぼえ。

フツーにArduinoでのポートの叩き方だと3μs周期が最速くらいで

 これじゃやっぱし遅い。。。が確認できた。

 

でもって最速くらい速いのも試してみた。

こっちはレジスタ接触るやつ。

これをやるとせっかくArduinoがハードを意識しないで使えるように

してくれてるのに逆らってる。

組込みマイコンでハードの性能目一杯使うのでよくやるやつ。


nopで最低1クロック分の待ちを入れないと動かない。

 なんでだっけ? OSがなんか関係あるのかな?

仕事で使ってるPSoCマイコンでは普通にやることなんだけど。

 

noInterrupt()いれたらOSが割り込んでくるの止めれるのかなって試したら

3秒毎のリセットはなくなって約8秒毎になった。

これもなんでかな? だ。

 

それでもArduinoらしくやった高速ポートLチカは330kHzだったのに対して

レジスタ叩きでのLチカは6.7MHzくらい約20倍に高速になった。

 

動作の様子はこんな感じ。