主题中讨论的其他器件:HALCOGEN
您好!
我已在 halcogen 配置中启用了用于 ADC 通知的 RTI 和 ePWM。 我可以在 RTI 通知函数中看到 RTI 中断被触发、但我看不到 ADC 通知是由 ePWM 事件触发的。 我 有3个 ADC 引脚输入、如下所示、但 AL 值与 ADC_DATA[0].value 相同。
ADC_DATA[0].value =(uint16)(adcREG1->GxBUF[adcGROUP1].BUF0);///从电位计//获取第一个转换引脚8的值 
ADC_DATA[1].value =(uint16)(adcREG1->GxBUF[adcGROUP1].BUF0);///从由 ePWM//触发的电流感应中获取第一个转换引脚10的值 
ADC_DATA[2].value =(uint16)(adcREG1->GxBUF[adcGROUP1].BUF0);////从由 ePWM//触发的电流感应中获取第一个转换引脚11的值 
您可以帮助检查我的 halcogen 和代码吗?:



void Init_all()
{
    _enable_IRQ_interrupt_();/* enable irq interrupt in */
    sciInit(); //Initialize the SCI (UART) module
    adcInit(); //Initialize the ADC module
    //hetInit(); //Initialize Het(PWM)//
    gioInit(); //Initialize GIO//
    etpwmInit();//Initialize PWM//
    TI_Fee_Init();// Initialize FEE. This will create Virtual sectors, initialize global variables etc.//
    rtiInit();// Initialize RTI driver //
    etpwmStartTBCLK();//This function starts the time-base clocks of all eTPWMx modules
    adcEnableNotification(adcREG1, adcGROUP1);//ADC enable notification
    adcStartConversion(adcREG1, adcGROUP1);
    rtiEnableNotification(rtiREG1,rtiNOTIFICATION_COMPARE0);// Enable RTI Compare 0 interrupt notification //
    gioEnableNotification(gioPORTA,1);//Enable notifications of GIO//
    canInit();//configuring CAN1 MB1,Msg ID-1 to transmit and CAN2 MB1 to receive //
    canEnableErrorNotification(canREG1); // enabling error interrupts CAN_Bus1//
    canEnableErrorNotification(canREG2); // enabling error interrupts CAN_Bus2//
    rtiStartCounter(rtiREG1,rtiCOUNTER_BLOCK0); // Start RTI Counter Block 0 //
}
//////**********************End of Initialization***********************/////
void main(void)
{
    Init_all();//Initialize all drivers//
   while(1) // Loop to acquire and do the task//
   {
   }
}
#pragma WEAK(adcNotification)
void adcNotification(adcBASE_t *adc, uint32 group)
{
/*  enter user code between the USER CODE BEGIN and USER CODE END. */
/* USER CODE BEGIN (14) */
    GetAdcInput();
/* USER CODE END */
}
void GetAdcInput(void)
{
    adcData_t adc_data[3]={}; //ADC Data Structure
    
    
    adc_data[0].value = (uint16)(adcREG1->GxBUF[adcGROUP1].BUF0); ////Get value for first conversion pin 8//
    adc_data[1].value = (uint16)(adcREG1->GxBUF[adcGROUP1].BUF0); ////Get value for first conversion pin 10//
    adc_data[2].value = (uint16)(adcREG1->GxBUF[adcGROUP1].BUF0); ////Get value for first conversion pin 11//
}
下面是我的参考示例:
请帮助解决此问题。
谢谢你。
此致、
Lukman
 
				 
		 
					 
				


