迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

いまさらPSoCでLチカ(6)これで終わり(多分)

百均ライトにはスイッチが付いているので、これを使って全体の点滅周期の変更と消灯が出来るようにプログラムを組みました。
StroboLight回路2

光らせてみてうまく動作しているように見えましたが、前回の例があるのでロジックアナライザで見たら、やはりと言うべきか(汗)予期せぬパルスが出てました。
StroboLight_Analize_abnormal.jpg

全体の周期を決めるPWMのPeriodだけを書き換えていたのですが、この時わざわざ停止させてから書き換えていたのでおかしなことになり、点滅周期を決めるPWMのPeriodも同時に書き換える必要がありました。

停止させる必要は無かったのです、8BitPWMのデータシートによると

Period レジスタは、いつでも新しい値に変更することができます。
PWM が停止している時、Period レジスタにある値を書き込むと、同時に Count レジスタにも同じ値が書き込まれます。
PWM がカウント動作を行っている時、Period レジスタへ値を書き込んでも、Count レジスタは影響を受けず、最終カウントに続いて次のリロードが発生するときに、新しい Period 値が Count レジスタに書き込まれます。


停止させて書き換えたものだから、Countレジスタもすぐに変更されてしまい、点滅周期を決めるPWMとタイミングのずれが生じてしまいました。

何度もプログラムを書き換え、ようやく目的どおりの出力が得られました。
StroboLight_Analize_normal.jpg
これにて終わりです(多分)。
簡単なんだからすぐ出来るだろうと思っていたら、予期せぬ動作にみまわれましたが、勉強になりました。
関連記事
スポンサーサイト

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

この記事へのトラックバックURL
http://edycube.blog2.fc2.com/tb.php/822-43bdf8bf

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

BME280モジュールを使った温度・湿度・気圧計(2)DSO Shellを使って動作電流を測る Apr 23, 2017
BME280モジュールを使った温度・湿度・気圧計 Apr 23, 2017
DSO Shell(2)電源 Apr 16, 2017
小学一年生5月号付録 ドラえもん こえピアノ Apr 14, 2017
DSO Shell(1) Apr 13, 2017
非接触温度センサMLX90614を試す(6)プラケースに入れる Apr 03, 2017
アナログフィルタ Mar 28, 2017
非接触温度センサMLX90614を試す(5)Arduino pro miniを使ってみる Mar 19, 2017
非接触温度センサMLX90614を試す(4)耳内温を測ってみる。 Mar 12, 2017
非接触温度センサMLX90614を試す(3) Mar 11, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (390)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (28)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん