質問するログイン新規登録

回答編集履歴

1

新しいPICでの違いを追記

2019/01/11 17:22

投稿

ikadzuchi
ikadzuchi

スコア3047

answer CHANGED
@@ -1,10 +1,14 @@
1
1
  (PICマイコンには種類がありますが状況からして8bitのわりと古いものと判断して)
2
- 8bitのわりと古いPICは命令ごとの実行時間が確定的でかつほとんど4クロックで一定(分岐命令のみ8クロック)なのでクロック数は非常に数えやすいです。8bitのPICにおいて4クロックのことを1サイクルと呼びます。
2
+ 8bitのわりと古いPICは命令ごとの実行時間が確定的でかつほとんど4クロックで一定(~~分岐命令のみ8クロック~~)なのでクロック数は非常に数えやすいです。8bitのPICにおいて4クロックのことを1サイクルと呼びます。
3
3
  見つからなかったということですが、たぶん、ふつうその動作は「指定時間のウェイトを入れる」と呼ばれるからだと思います。
4
- タイマーを使う方法もありますが48サイクル程度の短時間のウェイトは単純なループで書いた方が楽です。
4
+ タイマーを使う方法もありますが~~48サイクル程度の~~短時間のウェイトは単純なループで書いた方が楽です。
5
5
 
6
6
  …とこの辺でカテゴリが「C」なことに気づきました。
7
- 48サイクルという短時間かつ1サイクルの誤差も許されない操作をCで行うのはまず不可能といってよいです。(インライン)アセンブラを使うか、諦めてください。
7
+ ~~48サイクルという~~短時間かつ1サイクルの誤差も許されない操作をCで行うのはまず不可能といってよいです。(インライン)アセンブラを使うか、諦めてください。
8
8
  そもそもCLKOUTを使って高速で行う必要のある操作なのでしょうか。
9
9
  y_waiwaiさんの言うようにSPIのクロックを使うか、単純にピンを操作するプログラムを書くのでは間に合いませんか?
10
- 間に合うなら単純にピンを操作するのが最も楽なのでおすすめです。
10
+ 間に合うなら単純にピンを操作するのが最も楽なのでおすすめです。
11
+
12
+ ---
13
+ わりと古いものかと思ったら新しいものでしたか。
14
+ 結論にあまり影響はありませんが、新しいものは2サイクル以上の命令が少々増えるのと、クロック出力が1サイクルに1クロックとは限らない点が上の回答の前提と異なっていました。