This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS1227:N2HET 仿真 I2C 停止条件中断

Guru**** 2386620 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063036/tms570ls1227-n2het-emulated-i2c-stop-condition-interrupt

器件型号:TMS570LS1227

您好!

我一直在使用 N2HET 仿真 I2C 应用代码、我可以看到发送、接收和 NACK 中断。 如何从 het1HighLevelInterrupt()函数获取停止条件检测中断?  


#pragma CODE_STATE(het1HighLevelInterrupt, 32)
#pragma INTERRUPT(het1HighLevelInterrupt, IRQ)

void het1HighLevelInterrupt(void)
{
    uint32_t vect = hetREG1->OFF1;
	switch (vect)
    {
    case 11: /*--------------------------->      Transmit interrupt */
    	if(Data_Send_HET<3)
    	{
    		HetI2CPutData(*I2C1_txptr++, IntEna);
    		Data_Send_HET++;
    	}
    	if(Start_Repeat==1)
    	{
    		if(Data_Send_HET<5)
    		{
    			HetI2CPutData(*I2C1_txptr++, IntEna);
    			Data_Send_HET++;
    		}
    		else if(Data_Send_HET==5)
    		{
    			RW = 1; //Read
    			IntEna = 0;//no transmit interrupt
    			HetI2CPutAddr(I2C2_ADDR, RW, 2, IntEna, 1);//now, start to receive two data bytes and generate stop bit
    		}
    	}
    	break;
    case 15: /*--------------------------->      Receive interrupt */
    	*I2C1_rxptr++ = (hetRAM1->Instruction[0x2C].Data>>8) & 0xFF;  // read the data
    	Data_Rece_HET++;
        break;
   	case 18:  /*--------------------------->      No ACK interrupt */

   	case 29: /* timeout2*/
   	case 8: /* timeout6*/
   	case 2: /* timeout9*/

   	default:
        	/* timeout + phantom interrupt, clear flags and return */
       	while(1);
       	break;
    }
}

/* USER CODE BEGIN (6) */
/* USER CODE END */

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    N2HET 仿真 I2C 示例不支持 SCD 中断。 该示例支持的中断包括 TX 中断、RX 中断、组中断 AD 超时中断。