JAJZ025C November   2023  – July 2025 AM263P2-Q1 , AM263P4 , AM263P4-Q1

 

  1.   1
  2.   概要
  3. 1使用上の注意およびアドバイザリ マトリックス
  4. 2シリコン リビジョン 1.0 の使用上の注意とアドバイザリ
    1. 2.1 シリコン リビジョン 1.0 の使用上の注記
      1.      i2324
      2.      i2488
    2. 2.2 シリコン リビジョン 1.0 のアドバイザリ
      1.      i2189
      2.      i2310
      3.      i2374
      4.      i2311
      5.      i2345
      6.      i2351
      7.      i2352
      8.      i2353
      9.      i2354
      10.      i2356
      11.      i2357
      12.      i2358
      13.      i2359
      14.      i2383
      15.      i2392
      16.      i2393
      17.      i2394
      18.      i2401
      19.      i2404
      20.      i2405
      21.      i2426
      22.      i2427
      23.      i2428
      24.      i2433
      25.      i2438
      26.      i2439
      27.      i2485
      28.      i2486
  5. 3商標
  6. 4改訂履歴

i2356

CONTROLSS-ADC:INTxCONT (割り込み継続モード) が設定されていない場合、割り込みは停止する可能性があります

詳細:

ADCINTSELxNx[INTxCONT] = 0 の場合、ADCINTFLG が設定されると割り込みは停止し、追加の ADC 割り込みは発生しません。ADCINTFLGCLR レジスタのソフトウェア書き込みとともに ADC 割り込みが同時に発生すると、ADCINTFLG が予期せず設定されたままになり、将来の ADC 割り込みをブロックします。

回避方法:

  1. ADCINTFLG が追加の ADC 割り込みをブロックしないように、Continue-to-Interrupt モードを使用します。
    ADCINTSEL1N2[INT1CONT] = 1;
    ADCINTSEL1N2[INT2CONT] = 1;
    ADCINTSEL3N4[INT3CONT] = 1;
    ADCINTSEL3N4[INT4CONT] = 1;
  2. この状態を回避するために、次の ADC 割り込みが発生する前に、ADC ISR をサービスし、ADCINTFLG をクリアするのに十分な時間を常に確保してください。
  3. ADCINTFLG をクリアするとき、ISR のオーバーフロー状態を確認します。ADCINTFLGCLR への書き込み直後に ADCINTOVF をチェックし、これが設定されている場合は、ADCINTFLGCLR をもう一度書き込んで ADCINTFLG がクリアされていることを確認します。ADCINTOVF レジスタが設定され、ADC 変換割り込みが失われたことを示します。
    AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //clear INT1 flag
    if(1 == AdcaRegs.ADCINTOVF.bit.ADCINT1) //ADCINT overflow
    {
     AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //clear INT1 again
    // If the ADCINTOVF condition will be ignored by the application
    // then clear the flag here by writing 1 to ADCINTOVFCLR.
    // If there is a ADCINTOVF handling routine, then either insert
    // that code and clear the ADCINTOVF flag here or do not clear
    // the ADCINTOVF here so the external routine will detect the
    // condition.
    // AdcaRegs.ADCINTOVFCLR.bit.ADCINT1 = 1; // clear OVF