接着上一篇东软载波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);
}
}
三、现象