APM32F407IGT6 DAC初始化卡住了
先上代码:int main(void)
{
GPIO_Config_T GPIO_ConfigStruct;
RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOB);
GPIO_ConfigStruct.pin = GPIO_PIN_3;
GPIO_ConfigStruct.mode = GPIO_MODE_OUT;
GPIO_ConfigStruct.speed = GPIO_SPEED_50MHz;
GPIO_Config(GPIOB, &GPIO_ConfigStruct);
/* DAC init*/
DAC_Init();
while (1)
{
GPIO_SetBit(GPIOB,GPIO_PIN_3);
for(i=0;i<100000;i++);
GPIO_ResetBit(GPIOB,GPIO_PIN_3);
for(i=0;i<100000;i++);
}
}
void DAC_Init()
{
GPIO_Config_T gpioConfig;
DAC_Config_T dacConfig;
/* Enable GPIOA clock */
RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOA);
/* DAC out PA4 pin configuration */
GPIO_ConfigStructInit(&gpioConfig);
gpioConfig.mode = GPIO_MODE_AN;
gpioConfig.pupd = GPIO_PUPD_NOPULL;
gpioConfig.pin = GPIO_PIN_4;
GPIO_Config(GPIOA, &gpioConfig);
/* Enable DAC clock */
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_DAC);
// /* DAC channel 1 configuration */
// DAC_ConfigStructInit(&dacConfig);
// dacConfig.trigger = DAC_TRIGGER_NONE;
// dacConfig.waveGeneration = DAC_WAVE_GENERATION_NONE;
// dacConfig.maskAmplitudeSelect = DAC_LFSR_MASK_BIT11_1;
// dacConfig.outputBuffer = DAC_OUTPUT_BUFFER_ENABLE;
// DAC_Config(DAC_CHANNEL_1, &dacConfig);
// /* Enable DAC channel 1 */
// DAC_Enable(DAC_CHANNEL_1);
}卡在这句:RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_DAC);
我找到RCM_APB1_PERIPH_DAC的定义
#if defined (APM32F405xx) || defined (APM32F407xx) || defined (APM32F415xx) || defined (APM32F417xx) || defined (APM32F425xx) || defined (APM32F427xx)
RCM_APB1_PERIPH_DAC = BIT29, /*!< Select DAC clock */
#endif
APM32F407xx没定义
我自己定义了一个
#define APM32F407xx 1
可是还是卡住,把这句注释掉,灯就可以闪。
请问高手,如何解决?谢谢
APM32F407xx 这个定义是全局的。
如果编译的时候没有定义,系统会提示,并暂停编译。 你已经尝试了定义APM32F407xx,这是正确的第一步
页:
[1]