FreeRTOS实战项目——STM32F103ZET6智能门禁系统(一)

1.主要功能

        基于STM32F103ZET6单片机(正点原子精英STM32F103开发板)可以实现刷卡开门,指纹开门,输入按键密码开门,远程app通过WiFi开门四种方式,密码键盘采用2.8寸TFT_LCD触摸屏设置虚拟键盘,而不是实体键盘,开锁执行机构采用SG90舵机,指纹模块采用AS608,WiFi模块采用ESP8266-01S。

1.1 主要元器件

1.正点原子STM32F103ZET6开发板(也可以自己设计PCB)

2.RC522射频识别模块

3.AS608指纹识别模块

4. 2.8寸TFT_LCD触摸屏

5.SG90舵机 

6. ESP8266-01S

2.FreeRTOS移植到STM32F1上

        FreeRTOS是属于RTOS(Real Time Operating System)其中的一种,RTOS包括比如常见的ucos、RTthread、ThreadX等等,RTOS和裸机编程的主要区别就是RTOS可以多个任务同时进行,而裸机只同一时刻只能有一个任务在执行。就像我们的门禁系统,涉及到刷卡识别子任务、控制舵机子任务、指纹识别子任务、LCD屏幕显示子任务和WiFi通信子任务,RTSO就可以建立三个任务,让这五个任务同时执行,而裸机只能一个一个去执行。

        FreeRTOS的优点主要有:可移植性强、可以根据需求自由裁剪内核大小、支持多任务间的通讯、拥有高效的软件定时器、任务数量和优先级数量不限、支持抢占式和合作式调度,最重要的就是源码开源,而且可以免费使用,在很多预算不高的小公司可以实现商用,当然安全性需要考虑。

2.1 FreeRTOS源码获取

FreeRTOS的官网是:FreeRTOS™ - FreeRTOS™,但是其官网是国外的,所以国内访问会比较慢,我是用VPN梯子访问的。打开后官网首页如下图所示,然后点击按钮。

         然后可以看到有三个版本,建议选择FreeRTOS 202212.01,因为LST版本的没有Demo例程,对于初学者不是很友好

我把源码放到百度网盘了,可以自行下载。
链接: https://pan.baidu.com/s/1yX-5kH_EyyUeK726hRxizw?pwd=1234

提取码: 1234 

下载下来后是一个zip压缩包,需要解压,解压后如下图所示,我们主要关注FreeRTOS这个文件夹就行,其他的不用管。

点开FreeRTOS文件夹后可以看到两个文件夹:Demo和Source  

Demo就是针对不同单片机平台写的例程 

 Source文件夹才是我们本次移植的重点

2.2 移植到STM32F103ZET6 

1.首先要建立一个空白的标准STM32F103ZET6工程文件,我已经建立好一个,链接如下:
链接: https://pan.baidu.com/s/1T4B8rtLk_nWs1l2THx2Prw?pwd=F103

提取码: F103 
下载后打开,编译一下。

2.然后在 空白工程文件夹下新建一个FreeRTOS文件夹

然后就可以参考正点原子的《STM32F1 FreeRTOS开发手册_V1.1》手册里的第二章移植。链接如下:
链接: https://pan.baidu.com/s/1OT4G3PuGKgFOq95uliZgSQ?pwd=ZDYZ

提取码: ZDYZ 

移植后的工程编译如下:

移植好的工程文件链接如下:
链接: https://pan.baidu.com/s/1zeC-HNqtkVZfxALgqvP6CQ?pwd=Free

提取码: Free 

3.源码讲解

4.源码获取

完全开源

https://github.com/soul1992/MCU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值