K210|亚博智能K210开发板学习笔记(二)——GPIO

【K210|亚博智能K210开发板学习笔记(二)——GPIO】时间:2021-02-26 地点:在家(偷懒太久辣)
K210开发笔记
一、温故:
1、之前说windows下有两种利用C语言开发的编译环境,经过今天的了解,发现还有利用panthy语言开发的的Maixpy编译器。
2、从网上了解到勘智为K210提供了一系列的API供调用,有点相当于STM32中的库函数开发,不过K210就没有STM32的寄存器手册,不能通过寄存器进行开发。并且官方提供了中文的库函数开发手册,以及官方IDE的使用手册,这么一看,好像K210比32简单。
二、新知识GPIO:
**1、**最经典的外设,通用GPIO,两个手册,一是datasheet数据手册,二是SDK编程指南。文档下下介绍的通用输入、输出API为下图:
K210|亚博智能K210开发板学习笔记(二)——GPIO
文章图片

所以根据这个API参考,GPIO的应用顺序应该是先初始化,后设置模式,接着读取或者设置引脚的值,这个引脚的模式设置有输入、下拉输入、上拉输入、输出(这些模式是通过一个枚举类型来封装的),对比起32来说就没有了复用和推挽的模式。
**2、K210还有几个高速IO,下图是通用高速输入/输出 (GPIOHS)的SDK描述:
K210|亚博智能K210开发板学习笔记(二)——GPIO
文章图片

比起通用引脚,K210的高速引脚可以配置中断,有上升沿触发、下降沿触发、双边沿触发、低/高电平触发等模式,而且高速IO还有中断回调函数可以设置。
**3、K210的现场可编程 IO 阵列 (FPIOA),可以将 255 个内部功能映射到芯片外围的 48 个自由 IO 上,原来复用的功能在这里啊。
K210|亚博智能K210开发板学习笔记(二)——GPIO
文章图片

举个例子,假设要点亮两个LED灯,LED1和LED0,如下图所示,硬件上LED0连接的是IO0,LED1连接的是IO17。
K210|亚博智能K210开发板学习笔记(二)——GPIO
文章图片

因为K210的硬件引脚和软件功能使用的是FPIOA映射关系。在程序里操作的都是软件引脚,所以需要先把硬件引脚映射成软件GPIO功能,操作的时候直接操作软件GPIO即可。
K210|亚博智能K210开发板学习笔记(二)——GPIO
文章图片

K210|亚博智能K210开发板学习笔记(二)——GPIO
文章图片

通过API中的FPIOA_SET_FUNCTIONfpioa_set_function函数设置 IO0和IO17 管脚复用,接着在程序中操作软件GPIO口,LED0_GPIONUM和LED1_GPIONUM即可实现控制功能。

    推荐阅读