当前位置: 首页 > news >正文

搭建STM32F407的Freertos系统(基于STM32CubeMX)

       本人长期开发Linux、Windows上应用软件,一直以来MCU开发有所接触,但较少(最近项目需要,小公司么,都得会,被逼的),好在有STM32CubeMX这样工具,貌似就是我想要的工具。

        本次demo目标立下:

        1. 搭建或移植FreeRTOS到STM32上,毕竟对于长期在Linux环境开发(虽然也号称嵌入式),什么中断、拉高拉低,一直来没有搞的明明白白。有个RTOS会方便很多

         2. printf重定向到串口1,可以实现打印输出

         3. 有个任务:定期拉高LED,然后反转,比较方便的看看程序运行情况。(在没有屏幕的设备里,这个就好比串口输出,很常用)

本次采用板子是 晋中的开发板,搜索了下(网上关于这块介绍比较少,大部分是什么原子的),但对比了两个品牌开发板的原理图,大部分是一致的,因此很多情况下都是可以参考的,甚至复用吧!!

STM32CubeMX 端配置

打开STM32CubeMX软件,首先要选择芯片,晋中开发的是 STM32F407ZGT6

1. 配置RCC

CPU心脏起搏器选择,大概意思选择外部的方式:HSE、LSE也是

这个地方,如果要讲究,就得看开发板原理图,是不是这样设计的

2. 第二步,我觉得应该配置时钟:

选择 这个tab

然后配置参考如下图(实际跟上一步有关系,都是HSE、LSE配置),芯片168MHz是正常的频率,目前小白的水平,先不管功耗的问题,就是正常频率去运行。(注意那几个选择)

3. 配置点灯LED对应GPIO

点灯是Output,看了下原理图,开发板用与点灯是PF9、PF10

在这个图上面,找到PF9:

然后,点击对应的"引脚"就可以设置属性:主要是in 还是out,如果是右键的话,可以设置名称之类的。

GPIO还有个点,也要设置的。比如pull-up 还是 pull - down,要看原理图(跟电源连接的,就是up)

到此为止,两个点灯的GPIO已经配置好了。

4. 配置SYS

系统一些调试信息,TIM1也很重要

5. 配置串口

板子的串口1是接在USB转串口芯片上的,方便电脑侧获得输出结果,因此,打算用串口1作为Printf输出接口。如下图,

大概意思:采用同步方式,然后勾选中断。如果要DMA方式,还要DMA Settings进行配置,不过我没有成功(配置是可以配置,但不知道哪里错了,运行不起来)

当然波特率这些也是可以设置的,在Parameter Settings里面就可以根据实际需要设置。

6. 添加Freertos系统

到此为止,所有配置都可以了。

7. 配置project信息

选择Project Manager - Project

然后在 Code Generator

最后一步,就是生成代码,生成好之后可跳转到Keil 这边。

8. 在Keil码代码

9. 烧写到板子

http://www.lryc.cn/news/150142.html

相关文章:

  • vite 配置自动补全文件的后缀名
  • 基于Spring Boot的人才公寓管理系统设计与实现(Java+spring boot+MySQL)
  • Python 编写函数
  • C# Solidworks二次开发:创建距离配合以及移动组件API详解
  • Excel:通过Lookup函数提取指定文本关键词
  • sql:SQL优化知识点记录(六)
  • C#搭建WebSocket服务实现通讯
  • eclipse/STS(Spring Tool Suite)安装CDT环境(C/C++)
  • Python爬虫抓取经过JS加密的API数据的实现步骤
  • Nacos基础(2)——nacos的服务器和命名空间 springBoot整合nacos 多个nacos配置的情况
  • Win7设备和打印机里空白,0个对象,但是可以打印的处理办法
  • Python基础学习第六天:Python 数据类型
  • C++信息学奥赛1184:明明的随机数
  • NoSQL技术——Redis
  • 【探索SpringCloud】服务发现-Nacos服务端数据结构和模型
  • 基于简单的信息变换实现自然语言模型
  • 低配版消息队列,redis——Stream
  • 【OpenCV入门】第五部分——图像运算
  • 【Seata】00 - Seata Server 部署(Windows、Docker 基于 Jpom)
  • 菜鸟教程第一天
  • 数据结构--5.2马踏棋盘算法(骑士周游问题)
  • 如何使用CSS实现一个响应式图片幻灯片(Responsive Image Slider)效果?
  • Linux学习之lvm删除
  • bazel介绍以及其发展历史
  • 固定资产管理分析怎么写?
  • 【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码
  • 可能的二分法 -- 二分图判定【DFS、BFS分别实现】
  • 六级翻译备考
  • Vue框架--Vue中的数据绑定
  • Unity——热更新浅析