转载:https://blog.csdn.net/jacklondonjia/article/details/78497120在STM32CubeMX的FreeRTOS配置中,使能FreeRTOS的Software Timer功能 修改timer的名称及callback名称等 可以看到,在生成工程的main.c文件的main函数中,有以下code /* Create the timer(s) */ /* definition and creation of myTimer01 */ osTime…
配置STM32CubeMX如下 生成的Keil代码的创建启动定时器如下 /* Create the timer(s) */ /* definition and creation of myTimer01 */ osTimerDef(myTimer01, Callback01); myTimer01Handle = osTimerCreate(osTimer(myTimer01), osTimerPeriodic, NULL); /* USER CODE BEGIN RTOS_TIMERS */…
以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 支持的定时器组,或者叫软件定时器,又或者叫用户定时器均可.软件定时器的功能比较简单,也容易掌握. 被称为定时器组是因为用户可以创建多个定时器,创建的个数是可配置的. 定时器组介绍FreeRTOS 软件定时器组的时基是基于系统时钟节拍实现的,之所以叫软件定时器是因为它的实现不需要使用任何硬件定时器,而且可以创建很多个,综合这些因素,这个功能就被称之为软件定时器组.既然是定…
基于freeRTOS定时器实现闹钟(定时)任务 在智能硬件产品中硬件中,闹钟定时任务是基本的需求.一般通过APP设置定时任务,从云端或者是APP直连硬件将闹钟任务保存在硬件flash中,硬件运行时会去处理闹钟任务. 最简单的实现方式是在循环或者定时器处理函数中不断的去判断当前时间是否等于闹钟设定时间,若相等则产生相应的动作. 这样做虽然可行,但是做了太多无用的计算.我们可以根据当前时间距离下一次闹钟激发时间,设定一个对应的定时器,定时器激发时就是闹钟时间,然后继续根据下次激发时间设定新的定时器,…
STM32CubeMX生成工程 选择自己的芯片型号 配置RCC寄存器时钟为外部晶振 单击芯片配置GPIO,选择输出方式,重命名标签等 进入时钟配置,本人使用的为8M外部晶振作为时钟源,PLL时钟源选择HSE,经PLL倍频后为72M,系统时钟输入选择为PLLCLK,AB1为低速通道,所以要2分频到36M 之后开始配置TIM1和TIM2,他们分属于APB1和APB2,可以设置预分频,计数模式,溢出计数次数等 TIM1设置为1s产生一个中断,TIM2设置同理 (PS:设置减1是因为ACC是由0开始计数…
1.只有进入定时器守护任务,从定时器命令队列取出命令,队列空间才会空出一个可用空间:所有定时器公用一个定时器队列 2.如果使用软件定时器,在调度器开始前,会自动创建一个定时器守护任务,configTIMER_TASK_STACK_DEPTH和configTIMER_TASK_STACK_DEPTH用于设置这个守护任务的栈大小和任务优先级,各个定时器的回调函数是定时器守护任务调用的函数:哪个定时器定时时间到就执行哪个定时器回调函数,如果某个回调函数调用可能导致阻塞的函数,就会影响其他回调函数的调用…
用STM32CubuMX默认加入的FreeRTOS默认配置eTaskGetState是禁止的 把该功能设为Enabled编译就不会出错了 IAR的编译器要勾选Allow VLA…
HAL和LL库 HAL是ST为了实现代码在ST家族的MCU上的移植性,推出的一个库,称为硬件抽象层,很明显,这样做将会牺牲存储资源,所以项目最后的代码比较冗余,且运行效率大大降低,运行速度受制于flash的速度,所以很多人设计的时候出现了各种各样的问题.而LL库更精简,他更接近底层,直接操作寄存器来实现,二者在资源消耗上别人已做过比较,https://blog.csdn.net/wping1234/article/details/80197287.个人更看重代码的效率以及精简,所以选择使用LL库…
在MCU on Eclipse网站上看到Erich Styger在8月2日发的博文,一篇关于在Amazon FreeRTOS V10中使用运行时统计信息的文章,本人觉得很有启发,特将其翻译过来以备参考.原文网址:https://mcuoneclipse.com/2018/08/02/tutorial-using-runtime-statistics-with-amazon-freertos-v10/ FreeRTOS包含一个很好的功能,可以向我提供有关每个任务在系统上运行的时间的信息: Free…
以下教程(大部分章节)(尤其理论介绍部分)转载自安富莱电子,官网链接: http://forum.armfly.com/forum.php 然后根据安富莱的教程自己做了分析和测试,希望大家共同进步. 其中也有个别章节是正点原子和野火的教程. 提高篇开始是自己根据使用经验的原创,期间也有参考官方资料的原创.主要先使用安富莱的教程达到入门水平.有需要时还得分析源码. 目录 1.FreeRTOS——1 2.FreeRTOS基础知识 3.FreeRtos——移植 4.FreeRtos——单任务 5.Fr…