先上代码:
- 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
可是还是卡住,把这句注释掉,灯就可以闪。
请问高手,如何解决?谢谢
|