小熊派-FreeRTOS-点灯学习过程-20221029

一、前言准备

1、小熊派一个(STM32L431RCT6)

2、STM32CubeMX

3、keil5

4、小熊派的配套开发资料(用于出问题的时候替换)

二、实现过程

代码主要由STM32CubeMX生成,所以过程主要是配置CubeMX.

1、芯片选型  STM32L431RCT6

 2、查看原理图,找到LED灯(GPIOC 13),并配置对应IO

 

 高电平点亮,所以将输出改为高

3、配置系统时钟

Debug采用串口调试,系统时钟不能选用滴答定时器,选择其他的定时器,因为FreeRTOS是使用了该定时器 

4、配置FreeRTOS系统

 配置任务,将默认的任务更改成LEDTask,一个是好查找,一个是防止改错

 5、配置输出文件

 此处选两个中任意一个皆可,第一个是加载所有的库文件,第二个是选必要的库文件

 然后点击生成代码即可

6、编译程序 ,解决一些问题

error: L6236E: No section matches selector - no section to be FIRST/LAST.

原因:

是由于没有加启动文件,双击左边工程框的文件夹,添加Startup开头的.s文件即可。(可以去小熊派的源码中找)

这个问题是因为CUBEMX工程在中文目录下,全部切换到英文就没有个这个问题了,有趣的是,还自动生成了启动文件在项目目录内,但就是不在keil里面,只要将项目目录中的启动文件加到keil工程中就可以了。

解决过程:

 添加启动文件后,编译不会报错了

7、修改LEDTask任务

找到freertos.c文件,添加点灯代码

		HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin, GPIO_PIN_SET);
        osDelay(1000);
		HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin, GPIO_PIN_RESET);
		osDelay(1000);

8、下载程序

配置下载接口

 下载后,重启小熊派就可以实现LED闪烁了

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值