【无接触的人脸识别门禁系统】+ 6-EFR32BG22使用GPIO
[复制链接]
EFR32BG22提供了不少库函数,也提供了封装好的服务函数,比如LED和BUTTON。
添加起来也简单,在工程目录下有如下两个文件是用来配置芯片的。
其中'*.pintool',可以配置引脚,有点类似于stm32cubemx软件。
而'.slcp'则是一个比较全面的配置界面,可以给工程添加一些软件包。
通过'software components'配置,在"Platform-Driver"里找到Button和LED添加到工程中。
这样就可以很方便的控制LED和读取按键了。
一、 LED的库函数
const sl_led_t sl_led_led0 = {
.context = &simple_led0_context,
.init = sl_simple_led_init,
.turn_on = sl_simple_led_turn_on,
.turn_off = sl_simple_led_turn_off,
.toggle = sl_simple_led_toggle,
.get_state = sl_simple_led_get_state,
};
包括LED的开、关、翻转等函数。
二、BUTTON的库函数
const sl_button_t sl_button_btn0 = {
.context = &simple_btn0_context,
.init = sl_simple_button_init,
.get_state = sl_simple_button_get_state,
.poll = sl_simple_button_poll_step,
.enable = sl_simple_button_enable,
.disable = sl_simple_button_disable,
};
包括按键的状态查询、按键状态变化的事件等函数。
三、总结
通过以上几步就可以很容易的实现按键的读取和LED的驱动函数,是不是很方便。但是也有缺点,就是文档没有那么齐全,生成出来的代码不知道在哪里,怎么去用。还需要自己找找代码在哪里。
LED和button的实例代码是在 'autogen'文件夹下。而它们的驱动代码则是在"gecko_sdk_3.2.3-platform-driver"文件夹下。
|