ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2020-12-03

2020-12-04 00:00:01  阅读:261  来源: 互联网

标签:03 12 FreeRTOS 温湿度 开发板 Source 文件夹 2020 多任务


任务要求

1 学习温湿度传感器原理,阅读国产温湿度采集芯片AHT20数据手册,在之前stm32最小系统电路原理中添加 AHT20数据采集原理电路,并完成PCB电路设计(PCB部分可在第16周提交)。

2.学习FreeRTOS原理,在STM32下完成一个基于FreeRTOS的多任务程序,执行3个周期性task,具体任务不限,但建议如下:task1,每间隔500ms闪烁(变化)一次LED;task2,每间隔2000ms,向串口发送一次指令数据“helloworld!";task3,每间隔5000ms,从AHT20采集一次温湿度数据(不考虑硬件情况,仅写出整个多任务框架模拟代码)。

基于FreeRTOS的多任务程序

一、手动移植FreeRtos(以STM32F103为例)

1、打开开发板赠送的资料,找到下列压缩包并解压

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、移植准备

①找到该文件
在这里插入图片描述
在这里插入图片描述
②粘贴到此目录下
在这里插入图片描述
在这里插入图片描述

3、移植

①找到该文件夹
在这里插入图片描述
②随便新建一个keil工程,在工程目录下新建一个文件夹命名为FreeRTOS
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

③向新建文件夹添加源文件
包括以下文件:
FreeRTOS\Source\list.c
FreeRTOS\Source\tasks.c
FreeRTOS\Source\portable\IAR\ARM_CM3\port.c
FreeRTOS\Source\portable\MemMang\heap_4.c
FreeRTOS\Source\FreeRTOSConfig.h
在这里插入图片描述
得到:
在这里插入图片描述
④添加头文件路径
在这里插入图片描述

在这里插入图片描述
至此,配置完成了。

二、多任务程序

1、在开发板所配备的资料中找到多任务工程

在这里插入图片描述
点开之后打开书籍配套程序文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、打开该工程,修改main.c的static void LED2_Task()函数如下
    while (1)
    {
        printf("hello world!\n"); 
        vTaskDelay(2000);  		
    }

在这里插入图片描述

3、编译生成.hex文件,烧录到开发板中,打开调试助手,实现多任务程序

①、编译生成.hex文件
在这里插入图片描述
②烧录到开发板中
在这里插入图片描述
在这里插入图片描述
③得到结果
在这里插入图片描述
数据发送:
在这里插入图片描述
小灯闪烁:
在这里插入图片描述

标签:03,12,FreeRTOS,温湿度,开发板,Source,文件夹,2020,多任务
来源: https://blog.csdn.net/qq_46580518/article/details/110565064

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有