おはようございます。
としぶぅ~です。
今日も起きれました^^
昨日の続きしようと思いましたが、PWMで引っかかっていたところ解決!
よって今日はそこ確認します。
マニュアル見ていたらありました。
そこらじゅうに”CCPMX”という表記があるのに気づきました。。。
なんだこの”CCPMX”って・・・?
PWMに関連するところいろいろ探しましたが見つからない・・・・
で、マニュアルを検索!すると。。。。CONFIGの中に”CCPMX”がありました。
※PIC16F88データシート抜粋
全く気がつかなかった・・・・(-o-)
CONFIGレジスタの12bit目がそれでした。
いつものごとく、プログラムの頭で設定してあげると・・・・動いた。。。(^^)
RB0を使うときは
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CPD_OFF & BOREN_OFF & LVP_OFF & CP_OFF & FCMEN_OFF & IESO_OFF & CCPMX_RB0);
RB3を使うときは
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CPD_OFF & BOREN_OFF & LVP_OFF & CP_OFF & FCMEN_OFF & IESO_OFF & CCPMX_RB3);
※ マーカー部分です
とします。
あとは、PWMの出力として使用するポートをOUTに設定する。
/*************************************************
RB0 or RB3をPWM出力に設定
*************************************************/
// TRISB0=0; //RB0出力に設定
TRISB3=0; //RB3出力に設定
// RB0=0; //Lに初期化
RB3=0; //Lに初期化
CCP1CON=0x0f ; //00xx1100 CCP1(RB0 or RB3)はPWMモード出力優先に設定
TRISB0=0 or TRISB3=0のどちらかをコメントにする。
※ マーカー部分です
これで動作します。
一応確認
ch1をRB0に、ch2をRB3にプローブを接続
CCPMX_RB0をコンフィグレジスタに追加した時の波形
ch1をRB0に、ch2をRB3にプローブを接続
CCPMX_RB3をコンフィグレジスタに追加した時の波形
という感じです。
一応意図したように動いているようです。
ちょっと最近思うこと。。。。LCDの処理速度が遅すぎる。
表示する関数を入れると、その次の処理が無視されたり。。。いろいろです。
一度処理速度を早くすべく見直しが必要かも。。。。
と、今日はこんなところです。
ちょっと戻りましたが、なんとかもやもやしたところは解決しました。
PWMはこれでかんりょうかな。。
明日はSPIのレジスタの訳をしていきます。。。
では今日はこの辺で。。。。皆様、よい一日を~(^o^)/