教えてください。CY8CKIT059シフトレジスタの使い方4

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
NaMi_4553661
Level 3
Level 3
10 replies posted 5 replies posted First question asked

お世話になります。

毎度レベルの低い質問ですみません。

~使い方1~3では、ご指導いただきありがとうございました。

添付ファイルをご覧いただきたいのですが、

外部入力パルスがCH1(黄色)、

LED出力がCH2(青色)になります。

8ビットシフトレジスタでしたが、現在32ビットのシフトレジスタとしています。

問題ですが、

回路駆動時に、タイマでタイミングをとっているはずの

LED出力の幅がときおり極端に短くなる場合があります。(ファイルtek0012.png)

点灯タイミングがずれると視認できてしまうため、こまっています。

どこかにバグがあると思うのですが、見つけられずにいます。

ご教示いただけると幸いです。

よろしくお願い致します。

0 件の賞賛
1 解決策
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

こんにちは、

さっと拝見しただけなのですが、

入力信号の下りエッジとパルス生成カウンタの位相がずれているような気がします。

試しに CY_ISR(freq_isr) を下記の様に変更されて

改善がみられるかお試しいただけますか?

====================

CY_ISR(freq_isr)

{

   Timer_Stop() ; // <----

   Timer_ReadStatusRegister() ; // <----

    FreqCounter_Stop() ;

    freq_count = FreqCounter_ReadCapture() ;

    Timer_WritePeriod((freq_count / 32)) ;

    Timer_WriteCounter(0) ;

    Timer_Start() ; // <---

    FreqCounter_WriteCounter(0) ;

    FreqCounter_ReadStatusRegister() ;

    FreqCounter_Start() ;

}

====================

moto

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

こんにちは、

さっと拝見しただけなのですが、

入力信号の下りエッジとパルス生成カウンタの位相がずれているような気がします。

試しに CY_ISR(freq_isr) を下記の様に変更されて

改善がみられるかお試しいただけますか?

====================

CY_ISR(freq_isr)

{

   Timer_Stop() ; // <----

   Timer_ReadStatusRegister() ; // <----

    FreqCounter_Stop() ;

    freq_count = FreqCounter_ReadCapture() ;

    Timer_WritePeriod((freq_count / 32)) ;

    Timer_WriteCounter(0) ;

    Timer_Start() ; // <---

    FreqCounter_WriteCounter(0) ;

    FreqCounter_ReadStatusRegister() ;

    FreqCounter_Start() ;

}

====================

moto

0 件の賞賛

Timerが動いていたのですね。

オシロでは未確認ですが、

現状ちらつきがなくなっているように見受けられます。

ありがとうございました。