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

2020-03-08 19:23发布

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

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

然后对程序进行编译,下载,还需要按一下“复位“键,就可以看到效果了。
下面是程序内容,大家可以直接复制、粘贴。
/*******By 火工头陀***************************************/
#define LED1_GPIO_PORT GPIOC
#define LED1_GPIO_PIN  MD_GPIO_PIN_8        
#define LED2_GPIO_PORT GPIOC
#define LED2_GPIO_PIN  MD_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 火工头陀************************************/
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
lihui567
1楼-- · 2020-03-08 22:38
这个单片机是多少位的,内核是51还是ARM的,看到也用库函数编程
Harvard
2楼-- · 2020-03-09 01:46
lihui567 发表于 2019-12-29 23:36
这个单片机是多少位的,内核是51还是ARM的,看到也用库函数编程

是32位的M0

一周热门 更多>