TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28379D: ADC例程的引脚配置问题

Part Number:TMS320F28379DOther Parts Discussed in Thread:C2000WARE

您好!

在目录C2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\adc_soc_epwm\cpu01的代码中:似乎没有对特定的GPIO口复用为ADC的引脚???

void main(void)
{
//
// Step 1. Initialize System Control:
// PLL, WatchDog, enable Peripheral Clocks
// This example function is found in the F2837xD_SysCtrl.c file.
//InitSysCtrl();

//
// Step 2. Initialize GPIO:
// This example function is found in the F2837xD_Gpio.c file and
// illustrates how to set the GPIO to it's default state.
//InitGpio(); // Skipped for this example

//
// Step 3. Clear all interrupts and initialize PIE vector table:
// Disable CPU interrupts
//DINT;

//
// Initialize the PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags
// are cleared.
// This function is found in the F2837xD_PieCtrl.c file.
//InitPieCtrl();

//
// Disable CPU interrupts and clear all CPU interrupt flags:
//IER = 0x0000;IFR = 0x0000;

//
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
// This will populate the entire table, even if the interrupt
// is not used in this example.  This is useful for debug purposes.
// The shell ISR routines are found in F2837xD_DefaultIsr.c.
// This function is found in F2837xD_PieVect.c.
//InitPieVectTable();

//
// Map ISR functions
//EALLOW;PieVectTable.ADCA1_INT = &adca1_isr; //function for ADCA interrupt 1EDIS;

//
// Configure the ADC and power it up
//ConfigureADC();

//
// Configure the ePWM
//ConfigureEPWM();

//
// Setup the ADC for ePWM triggered conversions on channel 0
//SetupADCEpwm(0);

//
// Enable global Interrupts and higher priority real-time debug events:
//IER |= M_INT1; //Enable group 1 interruptsEINT;  // Enable Global interrupt INTMERTM;  // Enable Global realtime interrupt DBGM

//
// Initialize results buffer
//for(resultsIndex = 0; resultsIndex < RESULTS_BUFFER_SIZE; resultsIndex++){AdcaResults[resultsIndex] = 0;}resultsIndex = 0;bufferFull = 0;

//
// enable PIE interrupt
//PieCtrlRegs.PIEIER1.bit.INTx1 = 1;

//
// sync ePWM
//EALLOW;CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 1;

//
//take conversions indefinitely in loop
//do{////start ePWM//EPwm1Regs.ETSEL.bit.SOCAEN = 1;  //enable SOCAEPwm1Regs.TBCTL.bit.CTRMODE = 0; //unfreeze, and enter up count mode////wait while ePWM causes ADC conversions, which then cause interrupts,//which fill the results buffer, eventually setting the bufferFull//flag//while(!bufferFull);bufferFull = 0; //clear the buffer full flag////stop ePWM//EPwm1Regs.ETSEL.bit.SOCAEN = 0;  //disable SOCAEPwm1Regs.TBCTL.bit.CTRMODE = 3; //freeze counter////at this point, AdcaResults[] contains a sequence of conversions//from the selected channel//////software breakpoint, hit run again to get updated conversions//asm("ESTOP0");}while(1);
}

非常感谢!

user6311038:

DSP的ADC引脚本来就不能复用。。。。。。。。。。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28379D: ADC例程的引脚配置问题
分享到: 更多 (0)

© 2026 TI中文支持网   网站地图 鲁ICP备2022002796号-1