SSブログ

同じ問題でまた嵌まった [PIC32]

(2015.07.31)
PIC32MX250を使い、アナログ2CHを200kHzサンプリングしようとして、嵌まりました。サンプリング・レートが200kHzに届きません。

プログラムを書き換えてもなかなか思うようになりません。あれこれ試しているうちに、サンプリング・レートが突然1MHzに跳ね上がって、またビックリ!調べてみるとADC割込フラグが消えなくなって誤動作していました。orz

”え~と、これは以前にも経験したやつだ。そのときは1MHzサンプリングも出来たんじゃなかったっけ?”

親族管理人ブログで検索を掛けて、以前書いた記事(これ)を発掘しました。

ふむふむ。(<==自分で書いたブログに感心している)

そのときも原因は判らないまま、AD1CON.SSRC<2:0>を”Internal counter ends sampling(auto convert)”に設定して、1MHzサンプリングを実現していました。

今回も同様に、”Internal counter ends sampling”に設定し、さらに"auto sampling"も設定して(ADCをフリーラン状態にして)おいて、200kHzインターバルで読み取るという方法でなんとか200kHzサンプリングが実現しました。

やれやれ

----------------------------------------
ちなみに、プログラムはこんな感じです
  while( break_flag == FLAG_OFF )
  {
      if( ADC_TIMER_INT_FlagGet() )
      {
// DMAをキックしてad_buffの内容を転送する
         SYS_DMA_Channel1ForceStart();
         ADC_TIMER_INT_FlagClear();
      }
      
      if( ADC_1_INT_FlagGet() )
      {
//ADC1BUFを読み出してから、割込フラグをクリアする
        ad_buff[0] = ADC1BUF0;
        ad_buff[1] = ADC1BUF1;
        ADC_1_INT_FlagClear();
      }



にほんブログ村 IT技術ブログへ
にほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ

nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。