【Silicon Labs 开发套件评测】+FreeRTOS+奇妙的基础外设
[复制链接]
本节我们将实现一些基础的外设应用,主要包括GPIO的输入输出(对于开发板的按钮及LED)、串口打印输出等,这些基础的搭建好之后,后面的应用就在这个基础上实现了。
一, 首先我们添加Freertos实时系统。SSv5已经为我们搭建好所有的基础工作,我们只需要初始化安装就可以了。
我就在前面的工程下添加在下图指示位置找到FreeRTOS后,点击install,默认就安装好了。
点击configure,可以对rtos下图所需要的参数进行配置。
点击view source可以打开可视化参数配置的头文件FreeRTOSConfig.h,即是FreeRTOS所需要的用户配置头文件。
FreeRTOS源码安装好之后,开始添加任务。SSv5做得比较智能化,安装实时系统后,在main函数中也给你添加了实时系统的初始化及启动。看起来方便了很多,但是给学习的人带来了一定程度的懒惰,会导致一些技术人员对底层的基础一知半解。
我们在app_init函数中实现任务函数,我们任务函数就实现LED定时闪烁
实现了一个基本的是实时任务,编译、下载。系统能正常运行。
二,然后实现按键输入
找到button按键的驱动初始化。
硬件接口是GPIO-PB3
系统默认初始化后使用输入中断输入模式,我这里修改为查询方式
对按键进行初始化,忍不住说一下中断处理流程。
通过注册回调函数sli_simple_button_on_change中进一步解释button描述符sl_simple_button_array。
我这里使用查询方式,就比较简单,直接初始化就行。
然后注册一个按键任务
实现按一下led翻转一下,编译,下载。运行正常。
三,接着实现printf输出
直接可视化安装
点击初始化时,发生一个错误
是因为没有安装串口USUART和STDIO两个服务,
安装之后就没有错误了。
在按键任务中添加printf打印
编译,下载,运行
这几个基本的外设和实时系统搭建好之后,后面应用在人机通信这块都会使用上。后面开始传感器的排位了。
|