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.
#define PWM_FREQUENCY 55
#include
#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/pwm.h"
#include "driverlib/adc.h"
uint32_t sysclock;
uint32_t input_value;
uint32_t i;
int sample_val[100]、pinVal、pinVal1;
extern uint32_t ulADC0Value[100];
//PG1是 PWM 引脚
void main()
{
PE5上的// 600kHz 信号
// 浮点 PWM_FREQ;
// 浮点 CPU_FREQ;
// 浮点 PWM_WORD;
// PWM_FREQ = 1434;//
// cpu_FREQ = 120000000;
// PWM_WORD =(1/PWM_FREQ)*CPU_FREQ;
//sysclock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |SYSCTL_MAIN |SYSCTL_USE_PLL |SYSCTL_CFG_VCO_480)、CPU_FREQ);
SysCtlPWMClockSet (SYSCTL_PWMDIV_64);
SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE);
GPIOPinTypePWM (GPIO_Porte _BASE、GPIO_PIN_5);
GPIOPinConfigure (GPIO_PE5_M0PWM5);
PWMGenConfigure (PWM0_BASE、PWM_GEN_2、PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_DB_NO_SYNC);
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_2、200);//针对200kHz 进行设置
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_1、200);// 50%占空比
PWMGenEnable (PWM0_BASE、PWM_GEN_2);
PWMOutputState (PWM0_BASE、PWM_OUT_5_BIT、TRUE);
uint32_t PWMClock = SysCtlClockGet ()/64;
uint32_t 负载=(PWMClock/PWM_FREQUENCY)- 1;
PWMGenPeriodSet (PWM1_base、PWM_GEN_0、负载);
//while (1){}
PE3上的//ADC 采样
SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHz);
GPIOPinTypeADC (GPIO_Porte _BASE、GPIO_PIN_3);
SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PLL | ADC_CLOCK_RATE_FULL、266);
ADCSequenceDisable (ADC0_BASE、1);
ADCSequenceConfigure (ADC0_BASE、1、ADC_TRIGGER_PWM0*3、0);
ADCSequenceStepConfigure (ADC0_BASE、1、0、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、1、1、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、1、2、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、1、3、ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceEnable (ADC0_BASE、1);
while (1)
{
ADCIntClear (ADC0_BASE、1);
ADCProcessorTrigger (ADC0_BASE、1);
while (!ADCIntStatus (ADC0_BASE、1、false))
{
}
ADCSequenceDataGet (ADC0_BASE、1、&ulADC0Value[100]);
// uint32_t pinVal;//用于保持 pinRead 的变量
PinVal= GPIOPinRead (GPIO_Porte _BASE、GPIO_PIN_3);
pinVal1= GPIOPinRead (GPIO_Porte _BASE、GPIO_PIN_4);
int a=0;
对于(a=1;a<=1;a++){
uint32_t res=a;
}
/*对于(i=0;i<100;i++){
int a=GPIOPinRead (GPIO_Porte _BASE、GPIO_PIN_3);
uint32_t adc_val[]=
}*/
}
}
我遇到错误、我没有低估错误、我无法理解。
说明 资源 路径 位置 类型
#10010 null:链接期间遇到错误;"ADC_Sampling2.out"未构建 ADC_Sampling2. C/C++问题
"="">processors.wiki.ti.com/.../10234"> 空:未解析的符号仍为 ADC_Sampling2 C/C++问题
gmake:***[ADC_Sampling2.out]错误1 ADC_Sampling2 C/C++问题
gmake:目标"全部"不会由于错误而重新生成。 ADC_Sampling2. C/C++问题
未解析的符号 ulADC0Value、首先在./project.obj adc_Sampling2中引用 C/C++问题
您已将变量 ulADC0Value 声明为外部变量、但从未定义过它。 如果您只删除了"extern "关键字、则代码将进行编译和链接。 如果以后需要从外部引用该数组,则需要声明和定义。
extern uint32_t ulADC0Value[100]; uint32_t ulADC0Value[100];
第一行将标签声明为外部标签、以便可以从不同的文件引用它。 第二种方法实际上会导致编译器/链接器分配存储空间。 您可以有许多.c 文件具有"extern "行、但只有一个.c 文件实际创建变量。