PIC16F84Aの勉強中です。
CLRWDTの動作に不明点があり、どなたか教えて下さい。
<質問1>
1.WDTに割り当てた分周比がCLRWDTでクリアされません。なぜでしょうか
■概略
WDT_ON、ポストスケーラをWDTに割り当て、スケール値は110(1:64)で用いています。
CLRWDTの作用は、データシートやその他の文献を見ると
(1)WDTのクリア(カウンターが0になる?←私の考えです)
(2)ポストスケーラのクリア(スケール設定値が000になる?←私の考えです)
(3)TO―>1
(4)PD―>1
の4つが記載されておりますが、(2)だけが確認できません。
クリアされるとすれば、CLRWDT文の次には必ず「スケール値再設定」の処理が必要となるはずですが、処置しなくても試作機は無事動いております。
MPLAB(Ver6.50)のシミュレーション(WATCHでOPTIONレジスタ値を観察)でも値は動きません。もちろんCLRWDT文を外せば試作機でもシミュレーションでもリセットがかかるので、WDTは確実にONしています。
CLRWDT文の使い方には何か条件があるのでしょうか。
<質問2>
2.SLEEP in時にもWDTがクリアされるはずですが、上記(2)も実行されるのでしょうか。
■概略
WDTでWAKEUPさせるのですが、その間隔が約1秒でして、どうも実行されていない様子なのです。
<質問3>
3.スケーラ値のデフォルトは111なのでしょうか。
■概略
MPLABのシミュレーション(WATCHでOPTIONレジスタ値を観察)では、最初はいつも111からスタートしているのでそう思いました。(設定文通過後はきちんと設定値に変化します)
もしデフォルト(=クリア値?)が111ならば、プログラムでわざわざ110にしなくても111でも問題ないので設定無しにしようかなと。更に、CLRWDT文の次の「スケール値再設定」処置が省略できるのでは・・・と考えております。(もともと必要ない\(◎o◎)/?)
以上、よろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>データシート記載の「CLRWDT ・・・Clear postscaler・・・」の意味するところが今だ不明であり、喉に小骨なのです。
ポストスケーラ(プリスケーラ)のカウント値を0(クリア)にしますよって意味です。
それとも、ポストスケーラと言う言葉自体が意味不明なんでしょうか?
No.1
- 回答日時:
すでに遅いかも知れませんが書いてみます。
全体的にWDTの動作をどうも勘違いしていると思います。
<質問1>
CLRWDTでクリアされるのは、プリスケーラのカウント値ですので動作として正しく、これ以外の動作はありません。
毎回プリスケーラのスケール値(分周比)がクリアされてしまったら、WDTとして無駄な手間の多い処理になるので歓迎されないと思いますが、そうしたい意図は何でしょうか?
そもそも、このOPTION_REG自体がCPU側から書かれるのはリセット時だけだと思うんですけど。
<質問2>
データシートを見る限り、同じ動作をするはずです。
コンフィギュレーションでWDTEがイネーブルになっていないのでは無いでしょうか?
<質問3>
これも「リセットによる値」としてデータシートに書かれていて111となっています。
しかし、PICの仕様が変わったり、PICのシリーズ全般を通して普遍かは疑問ですので初期化することをお勧めします。
明確に初期化する事も後々プログラムを見たときに(リセット後の状態)を調査する手間が省ける上に、何の機能をどう使っているかの説明になるので良いプログラマに成りたいと思うのなら避けましょう。
この回答への補足
ご回答者様、もしくは知っておられる方からの更なるご助言頂ければもっとうれしいのですが、データシート記載の「CLRWDT ・・・Clear postscaler・・・」の意味するところが今だ不明であり、喉に小骨なのです。
プログラムする皆さんはどのように解決されたのでしょう?
他の日本語文献を調べたところ同様の記載も多数見受けられた事から、これは誤記?とは思えなくて。
今一度お付き合い願えれば幸いです。
ご回答ありがとうございます。
はっきりと「これ以外の動作はありません」とご助言頂き、安心して進む事が出来ます。
私としても手間な処理であり、できれば「そうしたく無い」考えでした。
それに沿う方向でのご回答を頂き、ちょっとうれしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Chrome(クローム) Chromeでgooglemap検索等結果が他国になってしまう 1 2022/10/05 12:18
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
- gooブログ ブログの記事を書きだしのみに表示したい 1 2022/06/25 19:11
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- 電気・ガス・水道業 簡易専用水道の定期清掃について 3 2023/03/26 16:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLCとPCの通信
-
RTCで取得した値をLCDに表示したい
-
SH7144でパルス幅を測定したい。
-
printf文で変数のアドレスを表...
-
マイコンからSDカード内のテキ...
-
PICマイコンのCLRWDT動作について
-
シリアル通信でのデータ取りこぼし
-
デジタルマルチメータの自動計...
-
組み込みマイコンでのソフトウ...
-
Macターミナルで実行中のプログ...
-
VBSの処理中一旦処理を止めて再...
-
バックグラウンドのプロセスの...
-
緯度、経度の 10進法と 60進法...
-
C言語で、メモリを解放しないで...
-
Visual C++からpingを実行して...
-
メッセージボックスのボタン名変更
-
Excel VBAにて、2GB超の点群デ...
-
Excel VBA 自動的に閉じるMsgBox
-
win10で、正確な待ち時間の作り方
-
Excelでのセル内容の高速消去方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLCとPCの通信
-
レジスタマップって何ですか?
-
組み込みマイコンでのソフトウ...
-
アセンブラプログラム
-
SH7144でパルス幅を測定したい。
-
マイクロ秒で精度が出るタイマー
-
機械語のレジスタペアについて
-
シリアル通信でのデータ取りこぼし
-
H8マイコンのプロテクト方法
-
マイコンからSDカード内のテキ...
-
フラッシュメモリへの書き込み
-
TCNTとTIFRの意味
-
RTCで取得した値をLCDに表示したい
-
2つのアナログ信号が一致して...
-
USBハブの自作について
-
グラフィックLCD SG12...
-
古い計量機器からのrs232cを使...
-
マイコンSPI入門
-
printf文で変数のアドレスを表...
-
PICマイコンのCLRWDT動作について
おすすめ情報