1018|2

171

帖子

0

资源

一粒金砂(中级)

【Silicon Labs 开发套件评测】+FreeRTOS+奇妙的基础外设 [复制链接]

 本节我们将实现一些基础的外设应用,主要包括GPIO的输入输出(对于开发板的按钮及LED)、串口打印输出等,这些基础的搭建好之后,后面的应用就在这个基础上实现了。

 一, 首先我们添加Freertos实时系统。SSv5已经为我们搭建好所有的基础工作,我们只需要初始化安装就可以了。

  我就在前面的工程下添加在下图指示位置找到FreeRTOS后,点击install,默认就安装好了。

image-20210801095533-1.png  

点击configure,可以对rtos下图所需要的参数进行配置。

image-20210801095533-2.png  

点击view source可以打开可视化参数配置的头文件FreeRTOSConfig.h,即是FreeRTOS所需要的用户配置头文件。

FreeRTOS源码安装好之后,开始添加任务。SSv5做得比较智能化,安装实时系统后,在main函数中也给你添加了实时系统的初始化及启动。看起来方便了很多,但是给学习的人带来了一定程度的懒惰,会导致一些技术人员对底层的基础一知半解。

image-20210801095533-3.png  

我们在app_init函数中实现任务函数,我们任务函数就实现LED定时闪烁

image-20210801095533-4.png  

image-20210801095533-5.png  

实现了一个基本的是实时任务,编译、下载。系统能正常运行。

 

二,然后实现按键输入

找到button按键的驱动初始化。

image-20210801095533-6.png  

硬件接口是GPIO-PB3

image-20210801095533-7.png  

image-20210801095534-8.png  

系统默认初始化后使用输入中断输入模式,我这里修改为查询方式

image-20210801095534-9.png  

对按键进行初始化,忍不住说一下中断处理流程。

image-20210801095534-10.png  

通过注册回调函数sli_simple_button_on_change中进一步解释button描述符sl_simple_button_array

image-20210801095534-11.png  

我这里使用查询方式,就比较简单,直接初始化就行。

然后注册一个按键任务

image-20210801095534-12.png  

实现按一下led翻转一下,编译,下载。运行正常。

 

三,接着实现printf输出

直接可视化安装

image-20210801095534-13.png  

点击初始化时,发生一个错误

image-20210801095534-14.png  

是因为没有安装串口USUARTSTDIO两个服务,

image-20210801095534-15.png  

安装之后就没有错误了。

在按键任务中添加printf打印

image-20210801095534-16.png  

编译,下载,运行

image-20210801095534-17.png  

 

 

这几个基本的外设和实时系统搭建好之后,后面应用在人机通信这块都会使用上。后面开始传感器的排位了。


回复

790

帖子

0

资源

一粒金砂(高级)

不错,顶一下楼主,学习了。


回复

6112

帖子

0

资源

五彩晶圆(初级)

看来楼主很顺利都是运行正常

期待下文


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表