ZHCZ035C 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 中断:
    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