[APM32F4] APM32F407IGT6 DAC初始化卡住了

[复制链接]
Tom952331 发表于 2025-8-16 16:44 | 显示全部楼层 |阅读模式
先上代码:

  1. int main(void)
  2. {
  3.    
  4.                 GPIO_Config_T GPIO_ConfigStruct;
  5.    
  6.                 RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOB);


  7.                 GPIO_ConfigStruct.pin = GPIO_PIN_3;
  8.     GPIO_ConfigStruct.mode = GPIO_MODE_OUT;
  9.    
  10.     GPIO_ConfigStruct.speed = GPIO_SPEED_50MHz;
  11.     GPIO_Config(GPIOB, &GPIO_ConfigStruct);
  12.    

  13.     /* DAC init*/
  14.     DAC_Init();

  15.    

  16.     while (1)
  17.     {
  18.                         GPIO_SetBit(GPIOB,GPIO_PIN_3);
  19.                         for(i=0;i<100000;i++);
  20.                         GPIO_ResetBit(GPIOB,GPIO_PIN_3);
  21.                         for(i=0;i<100000;i++);
  22.     }
  23. }

  24. void DAC_Init()
  25. {
  26.     GPIO_Config_T   gpioConfig;
  27.     DAC_Config_T    dacConfig;

  28.     /* Enable GPIOA clock */
  29.     RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOA);

  30.     /* DAC out PA4 pin configuration */
  31.     GPIO_ConfigStructInit(&gpioConfig);
  32.     gpioConfig.mode    = GPIO_MODE_AN;
  33.     gpioConfig.pupd    = GPIO_PUPD_NOPULL;
  34.     gpioConfig.pin     = GPIO_PIN_4;
  35.     GPIO_Config(GPIOA, &gpioConfig);

  36.     /* Enable DAC clock */
  37.         //RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
  38.     RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_DAC);

  39. //    /* DAC channel 1 configuration */
  40. //    DAC_ConfigStructInit(&dacConfig);
  41. //    dacConfig.trigger             = DAC_TRIGGER_NONE;
  42. //    dacConfig.waveGeneration      = DAC_WAVE_GENERATION_NONE;
  43. //    dacConfig.maskAmplitudeSelect = DAC_LFSR_MASK_BIT11_1;
  44. //    dacConfig.outputBuffer        = DAC_OUTPUT_BUFFER_ENABLE;
  45. //    DAC_Config(DAC_CHANNEL_1, &dacConfig);

  46. //    /* Enable DAC channel 1 */
  47. //    DAC_Enable(DAC_CHANNEL_1);
  48. }
卡在这句: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
可是还是卡住,把这句注释掉,灯就可以闪。
请问高手,如何解决?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

133

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

32

主题

133

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部