ZHCZ051B November   2024  – September 2025 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   F29H85x、F29P58x 和 F29P32x MCU 器件勘误表器件修订版本 A、0
  3. 1使用说明和公告模型
    1. 1.1 使用说明汇总表
    2. 1.2 公告汇总表
  4. 2命名规则、封装编号法和修订版本标识
    1. 2.1 器件和开发支持工具命名规则
    2. 2.2 支持的器件
    3. 2.3 封装编号法和修订版本标识
  5. 3器件修订版本 B 使用说明和公告
    1. 3.1 器件修订版本 B 使用说明
    2. 3.2 器件修订版本 B 公告
      1.      公告
      2. 3.2.1  公告
      3.      公告
      4. 3.2.2  公告
      5. 3.2.3  公告
      6. 3.2.4  公告
      7. 3.2.5  公告
      8. 3.2.6  公告
      9. 3.2.7  公告
      10.      公告
      11. 3.2.8  公告
      12.      公告
      13.      公告
      14.      公告
      15. 3.2.9  公告
      16. 3.2.10 公告
  6. 4器件修订版本 A 使用说明和公告
    1. 4.1 器修订版本 A 使用说明
      1. 4.1.1 安全性:在器件修订版本 B 器件上编程的新 TI 密钥
    2. 4.2 器件修订版本 A 公告
      1. 4.2.1 公告
      2. 4.2.2 公告
      3. 4.2.3 公告
      4. 4.2.4 公告
      5. 4.2.5 公告
  7. 5器件修订版本 0 使用说明和公告
    1. 5.1 器件修订版本 0 使用说明
    2. 5.2 器件修订版本 0 公告
      1. 5.2.1 公告
      2. 5.2.2 公告
  8. 6文档支持
  9. 7商标
  10. 8修订历史记录

公告

ADC:如果未设置 INTxCONT(继续中断模式),中断可能会停止

受影响版本

0、A、B

详细信息

在 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
    }