大家好、我尝试使用 ADC4、但它给我错误"sysctl_Periph_ADC4未定义"和 "ADC4未定义"。 感谢你的帮助!
以下是我的代码:
#include "include.h"
void ADC4_ISR (void);
void Config_ADC (void);
unsigned int ADC4_Data[3];
悬空 ADC4_Voltage;
//float ADC0_Temperature;
空 Config_ADC (空)
{
SysCtlPeripheralEnable (SYSCTL_Periph_ADC4);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
GPIOPinTypeADC (GPIO_PORTD_BASE、GPIO_PIN_3);
ADCSequenceConfigure (ADC4_base、1、ADC_TRIGGER_PROCESSOR.0);
ADCSequenceStepConfigure (ADC4_base、1、0、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC4_base、1、1 ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC4_base、1、2、ADC_CTL_CH0
| ADC_CTL_END_ADC_CTL_IE);
ADCSequenceEnable (ADC4_base、1);
ADCIntRegister (ADC4_base、1、&ADC4_ISR);
ADCIntEnable (ADC4_base、1);
}
void main (void)
{
SysCtlClockSet (SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);//对于80MHz
SysCtlDelay (8000000000);
CONFIG_ADC();
IntMasterEnable();
while (1)
{
ADCProcessorTrigger (ADC4_base、1);
SysCtlDelay (800);
}
}
void ADC4_ISR (void)
{
ADCIntClear (ADC4_base、1);
ADCSequenceDataGet (ADC4_base、1、(unsigned int *)&ADC4_Data);
ADC4_Voltage = 0 +((float)(ADC4_Data[0]+ ADC4_Data[1]+ ADC4_Data[2])/3)*3.30/4096;
}