软件定时器osTimerCreate返回NULL

CMSIS-RTOS是对FreeRtos的封装,函数名比較适合纯软件编程。

如今的版本号是1.0.2.

id1 = osTimerCreate(osTimer(Timer_1),  osTimerOnce, NULL);

可是这个osTimerCreate总是返回0x00000000。

就是创建软件定时器不成功。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

在stm32cubmx的配置中,看到Timers不能够选择。

须要在Config parameters中启用软件定时器,或者直接在freertos.h中进行改动。

又一次生成一下代码,在Debug中能够看到:

软件定时器,创建成功。

时间: 2024-08-25 19:09:56

软件定时器osTimerCreate返回NULL的相关文章

【TencentOS tiny】深度源码分析(8)——软件定时器

软件定时器的基本概念 TencentOS tiny 的软件定时器是由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够提供不受硬件定时器资源限制的定时器服务,本质上软件定时器的使用相当于扩展了定时器的数量,允许创建更多的定时业务,它实现的功能与硬件定时器也是类似的. 硬件定时器是芯片本身提供的定时功能.一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存器,接受控制输入,到达设定时间值后芯片中断控制器产生时钟中断.硬件定时器的精度一般很高,可以达到纳秒级别,并且是中

C#调用JS的WebService的方法返回null

连上了别人的VPN后,使用WebService测试软件测试了一下,结果正常,但是当我在vs里面添加WebService服务,调用的时候就出现了问题,问题如下图: 后来问了一下服务端那边的同事,他们说服务是用JS写的,使用JS和JAVA调用没有问题. 然后我用JS调用试了一下,一点问题都没有,返回的结果和测试软件是一样的,都是xml字符串. 经过很多次百度之后,通过JS调用webservice大概知道了C#调用webservice返回null的原因:因为C#调用webservice的方法返回了一个

软件定时器-闹钟提醒我们该吃饭吃饭,该睡觉睡觉

闹钟提醒我们该吃饭吃饭,该睡觉睡觉 原文地址:http://blog.csdn.net/u011833609/article/details/28862125 softwaretimer.h #ifndef _SOFTWARETIMER_H_ #define _SOFTWARETIMER_H_ typedef enum{z_false = 0, z_true = !z_false} z_bool; typedef unsigned char z_uchar; typedef unsigned c

OSAL之时间管理,软件定时器链表管理

读源码写作,尊重原创: 本博文根据蓝牙4.0, 协议族版本是1.3.2 OSAL的时钟实现在OSAL_CockBLE.c与OSAL_Clock.h两个文件中.OSAL支持完整的UTC(世界统一时间),以2000年1月1日00:00:00为时间起点,可以精确到年.月.日.时.分.秒的时间值. 背景知识 // number of seconds since 0 hrs, 0 minutes, 0 seconds, on the 1st of January 2000 UTC存储自2000年1月1日开

基于链表的软件定时器实现(转)

软件定时器在实际应用比较重要,本文旨在实现一种便于移植,易扩展功能,效率高的软件定时器.本定时器是基于排序链表,将最近将触发的定时器置于链表头,后续新增定时器将计算出其合适位置插入. 主要数据结构及数据 typedef struct m_tm_tcb_struct { uint32_t time; //初次触发时间 uint32_t period; //周期时间,如果是只执行1次,则设为0 void *pdata; //定时器私有参数 m_timeout_handler phandler; //

软件定时器

软件定时器是 uC/OS 操作系统的一个内核对象,软件定时器是基于时钟节拍和系统管理创建的软件性定时器,理论上可以创建无限多个,但精准度肯定比硬件定时稍逊一筹.使用硬件定时器往往需要查阅芯片的相关数据手册,比较繁琐,而使用 uC/OS 的软件定时非常方便. 软件定时器启动之后是由软件定时器任务 OS_TmrTask() 统一管理,在创建软件定时器之前必须先使能软件定时器和配置软件定时器的相关参数. 软件定时器的使能位于"os_cfg.h": /* -------------------

ESP8266_04管脚控制与软件定时器

ESP8266_04管脚控制与软件定时器 from :https://mp.weixin.qq.com/s/APawDx4io4gKJyOeuErTLA 原创: MCU启航 单片机爱好者 今天 这一节主要有两部分内容:1.管脚的控制:2.软件定时器的使用. 先说定时器,ESP8266内部的定时器分为软件定时器和硬件定时器.手册中指出硬件定时器其实就跟单片机里的timer一样,而软件定时器纯粹由软件实现,咱们可以理解为单片机里面类似for循环之类的循环延时函数. 定时器理解了,管脚控制就简单了,先

C语言——软件定时器

都说程序设计 = 算法 + 数据结构.数据结构是挨踢必修课,不过好像学了数据结构之后也没用来做过啥.不知道做啥,就写个软件定时器. 软件定时器数据结构 typedef struct __software_timer{ u32 timeout; //初始化时间计数器 u32 repeat; //运行间隔:repeat > 0 :周期定时时间 repeat == 0 :只定时一次 void (*timeout_callback_handler)(void *para); //超时回调函数 struc

关于GestureDetector的onFling方法e1返回null问题

解决办法: 定义一个MotionEvent对象,在ondown里面赋值  private MotionEvent mLastOnDownEvent = null; @Override         public boolean onDown(MotionEvent arg0) {          mLastOnDownEvent=arg0;         return false;       } @Override     public boolean onFling(MotionEve