freertos入门(stm32f10c8t6版闪烁灯)

news/2024/12/2 14:38:43/

首先到官网下载freertos源码,然后找一个stm32f10c8t6的空模板,这个空模板实现点灯之类的都行。
然后在这个空模板的工程下新建一个FreeRtos文件夹
在这里插入图片描述
接着在FreeRtos文件夹下新建三个文件夹,分别是src存放源码
inc 存放头文件,port 存放移植平台相关文件
在这里插入图片描述
接着把FressRTOS的这个目录的文件全部复制到创建的port文件夹下(注意一个是你下载的FreeRTOS源码目录,一个是刚创建的stm32空模板,别搞乱了)
在这里插入图片描述
在这里插入图片描述
然后把FreeRTOS这个目录下文件也复制到刚创建的port文件夹下
在这里插入图片描述
然后回到FreeRTOS的根目录,复制这些到src文件夹下
在这里插入图片描述
在这里插入图片描述
接着复制FreeRTOS的这些到inc文件夹下
在这里插入图片描述
在这里插入图片描述
最后把FreeRTOS下的这个复制到模板工程下
在这里插入图片描述
在这里插入图片描述
然后打开这个模板工程。点击魔术棒到C++那添加文件路径
在这里插入图片描述
在这里插入图片描述
然后给每个文件夹添加文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
仔细看对着添加进去就好了,然后编译一下项目。
接着在这个配置文件中添加宏变量
在这里插入图片描述
然后注释三个函数SVC_Handler PendSV_Handler SysTick_Handler
在这里插入图片描述

然后开始编写代码,我们这里是让C13引脚输入高低电平实现LED灯闪烁的一个任务,代码如下:

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "freertos.h"
#include "task.h"TaskHandle_t myTaskHandler;
void MyTask(void* arg){while(1){GPIO_ResetBits(GPIOC, GPIO_Pin_13);vTaskDelay(300);GPIO_SetBits(GPIOC, GPIO_Pin_13);vTaskDelay(300);}
}void InitLED(){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);}
int main(void)
{InitLED();xTaskCreate(MyTask, "Task1", 512, NULL, 2, &myTaskHandler);vTaskStartScheduler();
}

然后下载进板子就可以看到小灯闪烁了,还有一种可以看到现象用逻辑分析仪:
首先打开魔术棒,然后设置如下
在这里插入图片描述
然后点击Debug开始按钮,点击Setup,设置为PORTC.13,Bit接收
在这里插入图片描述
然后点击全速运行,左上角
在这里插入图片描述

出现
在这里插入图片描述
这下可以看到成功了,恭喜你做到了入门


http://www.ppmy.cn/news/1196692.html

相关文章

基于LDA主题+协同过滤+矩阵分解算法的智能电影推荐系统——机器学习算法应用(含python、JavaScript工程源码)+MovieLens数据集(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据爬取及处理 相关其它博客工程源代码下载其它资料下载 前言 前段时间,博主分享过关于一篇使用协同过滤算法进行智能电影推荐系统的博文《基于TensorFlowCNN协同过滤算法的智能电影推荐系统——深…

QT 实现解密m3u8文件

文章目录 概要如何解密M3U8文件呢实现思路和代码序列图网络请求解密 结论 概要 视频文件很多已M3U8文件格式来提供,先复习下什么是M3U8文件!用QT的 mutimedia框架来播放视频时,有的视频加载慢,有的视频加载快,为啥&am…

第四章 Python运算符与流程控制

系列文章目录 第一章 Python 基础知识 第二章 python 字符串处理 第三章 python 数据类型 第四章 python 运算符与流程控制 第五章 python 文件操作 第六章 python 函数 第七章 python 常用内建函数 第八章 python 类(面向对象编程) 第九章 python 异常处理 第十章 python 自定…

pytorch 中 nn.Conv2d 解释

1. pytorch nn.Con2d 中填充模式 torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_mode‘zeros’, deviceNone, dtypeNone) 1.1 padding 参数的含义 首先 ,padd N, 代表的是 分别在 上下&…

iOS开发 Command PhaseScriptExecution failed with a nonzero exit code

解决步骤: 1.重启电脑 2.把xcode项目Build Setting中的Sandboxing置为No 3.重跑项目

最新Ai系统ChatGPT程序源码+以图生图+Dall-E2绘画+支持GPT4+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

算法随想录算法训练营第四十七天| 647. 回文子串 516.最长回文子序列

647. 回文子串 题目:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字…

TDengine 3.2.0.0 重磅发布!S3 存储 + IP 白名单正式上线

自 3.0 版本发布以来,在研发人员和社区用户的不断努力下,TDengine 做了大量更新,产品稳定性和易用性也在不断提升。近日,TDengine 3.2.0.0 成功发布,本文将向大家简单介绍一下该版本涉及到的重大更新。 开源的时序数据…