desk1983 发表于 2019-12-29 23:15

【东软载波ESF0654 PDS开发板活动】1.GPIO的相关学习(MD 驱动)

今天开始了GPIO的相关学习,我是基于MD驱动库的内容进行的相关学习
首先要在下面的网站下载最新SDK软件包,前几个版本有的文件不完全,这个已经算是比较全的了。
http://www.essemi.com/article/c141.html
下载,解压之后进入下列路径:
\ES32_SDK_V1.05\Projects\ES32F065x\Examples_MD\GPIO\gpio_toggle\MDK-ARM
打开工程后,需要根据板子的硬件资源对"main.c","main.h"这两个 文件的内容进行一下修改:
首先是“main.h”,
这里需要修改原来的关于GPIO的相关预定义语句,修改成如下 内容:
然后修改“main.c”中的相关内容:

然后在主循环里面编写一段流水灯的程序:

然后对程序进行编译,下载,还需要按一下“复位“键,就可以看到效果了。
下面是程序内容,大家可以直接复制、粘贴。
/*******By 火工头陀***************************************/
#define LED1_GPIO_PORT GPIOC
#define LED1_GPIO_PINMD_GPIO_PIN_8      
#define LED2_GPIO_PORT GPIOC
#define LED2_GPIO_PINMD_GPIO_PIN_9      

/***********By 火工头陀***********************************/
void config_gpio(void)
{
      md_gpio_set_pin_function(LED1_GPIO_PORT, LED1_GPIO_PIN, GPIO_FUNC_1);
      md_gpio_set_pin_push_pull(LED1_GPIO_PORT, LED1_GPIO_PIN);
      md_gpio_set_pin_mode_output(LED1_GPIO_PORT, LED1_GPIO_PIN);
      
      md_gpio_set_pin_function(LED2_GPIO_PORT, LED2_GPIO_PIN, GPIO_FUNC_1);
      md_gpio_set_pin_push_pull(LED2_GPIO_PORT, LED2_GPIO_PIN);
      md_gpio_set_pin_mode_output(LED2_GPIO_PORT, LED2_GPIO_PIN);
}

int main()
{
      md_init_1ms_tick();
      config_gpio();
      
      while (1) {
                md_delay_1ms(500);
                md_gpio_toggle_pin_output(LED1_GPIO_PORT, LED1_GPIO_PIN);
                md_delay_1ms(500);
                md_gpio_toggle_pin_output(LED2_GPIO_PORT, LED2_GPIO_PIN);
      }
}

/**********By 火工头陀************************************/

lihui567 发表于 2019-12-29 23:36

这个单片机是多少位的,内核是51还是ARM的,看到也用库函数编程

Harvard 发表于 2019-12-30 09:50

lihui567 发表于 2019-12-29 23:36
这个单片机是多少位的,内核是51还是ARM的,看到也用库函数编程

是32位的M0
页: [1]
查看完整版本: 【东软载波ESF0654 PDS开发板活动】1.GPIO的相关学习(MD 驱动)