マイコンの実行速度は!? その2

前回の記事のPWMのソースについて実験したのでその結果の報告。

DSC01430.JPG

実験は下記のとおり

(1) if文(従来のもの)
(2) else if文((1)のif文をelse if文に直したもの)
(3) switch文
(4) 配列処理
(5) シフト処理

の5つを、実行速度と、cnt1の値による実行時間の変化をオシロスコープを用いて計測する。
cnt1は0のときと7の時の値を用いる。

結果は下記の通り

cnt1の値 実行時間(μs)
if文 0 11.12
7 11.12
else if文 0 6
7 11.12
switch文 0 8.82
7 8.82
配列 0 5.9
7 5.9
左シフト 0 6.1
7 10

色を付けているのはcnt1が0と7の時で同じ実行時間だったもの。
システムとして実行時間が変化するのは良くないで、else if文とシフトは除外される。

そこで速度で比較すると明らかに配列が高速なことが分かる。
よって配列を用いたPWMの出力を採用しようと思います。

実験に用いたソースは下記の通り。

ファイルをダウンロード - speed.c

--
追記

PWMのソースの新しいのを公開しました。

http://dream-drive.net/robot/pwm.htm

Profile

me.jpg
Name : みっちー
小学校で電子工作にハマり、高校時代はゲームプログラミング、大学時代にロボット製作へどっぷり浸かりました。
社会人になっても、なにかとものを作るのが大好きで、日々ネタと仲間を求めて活動中です。

Dream Drive!!

bana.png
http://dream-drive.net

趣味のロボットとプログラムを中心としたコンテンツのサイトです。

My Robots

kolink2.jpg
KO-LINK2
第2世代 並行リンク足ロボット

kolink.jpg
KO-LINK
並行リンク足ロボット

BusterGX.jpg
BusterGX (Ex Walker)
G-ROBOT + ROBO-XERO

kumaco.jpg
KUMACO
ぬいぐるみロボット

SARUBO.jpg
SARUBO
JX-SYSTEM搭載ぬいぐるみロボット

kokuten3.jpg
KOKUTEN 3
リアルタイム逆運動学制御ロボット

meros.jpg
MEROS
膝なしロボット
(胸部マトリックスLED搭載)
by Mechaniker

kokuten12.jpg
KOKUTEN 1&2
はじめてのロボット
by Mechaniker

協賛広告

月別 アーカイブ

このブログ記事について

このページは、みっちーが2007年6月11日 14:51に書いたブログ記事です。

ひとつ前のブログ記事は「マイコンの実行速度は!?」です。

次のブログ記事は「WindowsVistaへの対応」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。