ZHCZ029D July   2023  – April 2025 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   1
  2.   TMS320F28P65x MCU 器件勘误表器件修订版本 A、0
  3. 1使用说明和公告模型
    1. 1.1 使用说明汇总表
    2. 1.2 公告汇总表
  4. 2命名规则、封装编号法和修订版本标识
    1. 2.1 器件和开发支持工具命名规则
    2. 2.2 支持的器件
    3. 2.3 封装编号法和修订版本标识
  5. 3器件修订版本 A 使用说明和公告
    1. 3.1 器修订版本 A 使用说明
      1. 3.1.1 PIE:背对背 PIEACK 写入和手动 CPU 中断屏蔽清除之后的伪波嵌套中断
      2. 3.1.2 将嵌套中断与重复块一起使用时的注意事项
      3. 3.1.3 GPIO:GPIO 数据寄存器仅通过 CPU1 复位进行复位
      4. 3.1.4 安全性:主要的防御层是构建芯片安全边界,从启用 JTAGLOCK 和零引脚引导至闪存功能开始
    2. 3.2 器件修订版本 A 公告
      1.      公告
      2.      公告
      3.      公告
      4. 3.2.1 公告
      5.      公告
      6. 3.2.2 公告
      7. 3.2.3 公告
      8. 3.2.4 公告
      9.      公告
      10.      公告
      11.      公告
      12.      公告
      13.      公告
      14. 3.2.5 公告
      15.      公告
      16.      公告
      17.      公告
      18.      公告
  6. 4器件修订版本 0 使用说明和公告
    1. 4.1 器件修订版本 0 使用说明
    2. 4.2 器件修订版本 0 公告
      1. 4.2.1 公告
  7. 5文档支持
  8. 6商标
  9. 7修订历史记录

公告

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

受影响版本

0、A

详细信息

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