使用ES32F369x点个灯,blink,blink,blink

2021-02-07 09:56:18 浏览数 (1)

接着上一篇东软载波ES32F369x板卡,使用ES32F369x点个灯。

一、查看LED1和LED2对应的GPIO口

二、程序操作

间隔500ms闪烁一次;es32f369x的gpio的特别之处,可以配置CMOS或者TTL电平、是否输入滤波功能、配置驱动能力

代码语言:javascript复制
int main()
{
  md_gpio_init_t x;
  /* Configure system clock */
  md_cmu_clock_config_default();

  md_cmu_pll1_config(MD_CMU_PLL1_INPUT_HOSC_3 , MD_CMU_PLL1_OUTPUT_96M);
  md_cmu_clock_config(MD_CMU_CLOCK_PLL1, 96000000);
  
  /* Initialize SysTick Interrupt */
  md_init_1ms_tick();

  /* Enable ALL peripheral */
  SYSCFG_UNLOCK();
  md_cmu_enable_perh_all();
  SYSCFG_LOCK();

  x.mode = MD_GPIO_MODE_OUTPUT;
  x.odos = MD_GPIO_PUSH_PULL;
  x.pupd = MD_GPIO_PUSH_UP;
  x.nodrv = MD_GPIO_OUT_DRIVE_1;     //¹àµçÁ÷ÄÜÁ¦
  x.podrv = MD_GPIO_OUT_DRIVE_1;     //À­µçÁ÷ÄÜÁ¦

  x.flt  = MD_GPIO_FILTER_DISABLE;   //ÊäÈëÂ˲¨¹¦ÄÜ
  x.type = MD_GPIO_TYPE_CMOS;        //cmosµçƽ»òÕßttlµçƽ
  x.func = MD_GPIO_FUNC_1;

  md_gpio_init(GPIOF, MD_GPIO_PIN_0, &x);
  md_gpio_init(GPIOF, MD_GPIO_PIN_1, &x);

  md_gpio_set_pin_low(GPIOF, MD_GPIO_PIN_0);
  md_gpio_set_pin_low(GPIOF, MD_GPIO_PIN_1);

  while (1) 
  {
    md_delay_1ms(500);

    md_gpio_set_pin_low(GPIOF, MD_GPIO_PIN_0);
    md_gpio_set_pin_low(GPIOF, MD_GPIO_PIN_1);

    md_delay_1ms(500);

    md_gpio_set_pin_high(GPIOF, MD_GPIO_PIN_0);
    md_gpio_set_pin_high(GPIOF, MD_GPIO_PIN_1);
  }
}

三、现象

0 人点赞