[ BLE4.0 ] 伦茨ST17H66开发-OSAL系统中添加自己的Task任务
目录一、开发背景二、任务要求三、实现步骤四、效果展示一、开发背景本文的开发是在基础的SimpleBlePeripheral工程中进行的在此之前应该熟悉伦茨ST17H66例程中的OSAL系统的基本组成。复习OSAL系统任务调度OSAL的任务结构二、任务要求本文将带领大家实现OSAL系统中创建一个输出任务该任务每隔2s输出一次信息。因此在本文中我们也会学到定时器的功能。三、实现步骤首先打开工程并创建一个名为MyTask的头文件和.c文件保存在./source/目录下。保存到其他目录下可能需要添加头文件引用路径。将.c文件添加到项目工程中。在头文件中添加如下代码。分别声明TaskID任务初始化函数和事件处理函数。函数结构仿照其它任务即可。#ifndef MYTASK_H #define MYTASK_H #include rom_sym_def.h #include comdef.h #include log.h #include OSAL.h #define MyTask_INIT_EVT 0x4000 #define MyTask_SIMPLE_EVT 0x2000 extern uint8 Mytask_id; void MyTask_Init( uint8 task_id ); uint16 MyTask_ProcessEvent( uint8 task_id, uint16 events ); #endif这里定义事件ID从0x4000开始就是从第二个高位开始在之前的文章中已经阐述过因为0x8000即最高位被系统事件占用所以我们可用的事件id一共是15个也就代表我们一个任务可以创建15个事件。系统事件SYS_EVENT_MSG定义在comdef.h文件中。随后在.c文件中实现这些函数代码如下#include MyTask.h uint8 Mytask_id; void MyTask_Init( uint8 task_id ){ //保存任务id Mytask_id task_id; //初始化完成事件 osal_set_event(task_id,MyTask_INIT_EVT); } uint16 MyTask_ProcessEvent( uint8 task_id, uint16 events ){ if(events MyTask_INIT_EVT) { //创建任务定时器 osal_start_reload_timer(Mytask_id,MyTask_SIMPLE_EVT,2000); return events ^ MyTask_INIT_EVT; } else if(events MyTask_SIMPLE_EVT) { LOG(OutPut...\n); return events ^ MyTask_SIMPLE_EVT; } return 0; }随后打开OSAL_SimpleBLEPeripheral.c文件先导入我们的任务的头文件。添加任务初始化注意taskid的连续性。对应顺序中添加Mytask的事件处理函数。四、效果展示将程序烧录进芯片。查看输出信息。任务成功实现。五、工程源码本文所使用的源码如下注意需要与该工程放到同一个路径下因为程序引用了SDK中最外层的资源。源码工程源码

相关新闻

Linux服务器操作

Linux服务器操作

一、服务器网络 1.1ssh客户端工具: SecureCRT是一款Windows系统下支持登录UNIX或Linux等服务器主机的软件。 链接:https://pan.quark.cn/s/8a4f6d445bc5 navicat: 链接:https://pan.quark.cn/s/7c42917959ce 1.2 网络 #服务器外网设置 …

2026/10/18 3:45:10 阅读更多 →
原创小众!24年新算法RBMO优化SVMD实现3D分解+五种熵值+频谱+参数变化等10张图!

原创小众!24年新算法RBMO优化SVMD实现3D分解+五种熵值+频谱+参数变化等10张图!

目录 数据输入方法 优化流程 创新点 1.使用SVMD的创新点在于: 2.使用红嘴蓝鹊优化算法RBMO创新点在于: 结果展示 完整代码 今天给大家带来一期知网以及WOS上从来没有人用过的参数优化方法:红嘴蓝鹊算法RBMO优化SVMD分解! …

2026/10/18 2:19:47 阅读更多 →
修改 conda新环境默认安装路径

修改 conda新环境默认安装路径

1. 在Ananconda Prompt(或CMD进入虚拟环境)下执行命令conda info会显示出conda创建环境的位置(图片为修正之后):你会看到,默认的位置,即c盘路径,会处在顺位第一行。2. 在c盘C:\Use…

2026/10/15 11:00:12 阅读更多 →

最新新闻

从搜索语法到自动化监控:用Google和GitHub Hacking打造资产哨兵

从搜索语法到自动化监控:用Google和GitHub Hacking打造资产哨兵

经常有甲方客户只丢一个主域名过来,要求在最短时间内摸清资产暴露面。很多人的第一反应是上扫描器、跑子域探测,结果往往跑了一晚上,出来一堆“疑似资产”还得人工核对。我自己的习惯是,先别急着上工具,把搜索引擎和代…

2026/10/18 10:24:42 阅读更多 →
STM32无板仿真入门:纯软件跑通GPIO、串口、定时器与中断

STM32无板仿真入门:纯软件跑通GPIO、串口、定时器与中断

很多人在 STM32 入门这件事上,被一只无形的门槛拦住了:板子。倒不是说开发板有多贵,而是从“想学”到“真正跑起来第一个程序”之间,隔了选型、下单、等快递、装驱动、接线、怕烧板子这一长串事情。尤其是学生党或者业余爱好者&am…

2026/10/18 10:24:42 阅读更多 →
JSP+SQL Server社区居民信息管理系统部署指南:JDK1.8到Tomcat全流程

JSP+SQL Server社区居民信息管理系统部署指南:JDK1.8到Tomcat全流程

简介:这是一套面向毕业设计的社区居民信息管理系统完整源码与文档工具包,适用于需要完成Java Web课程设计或毕业设计的本专科学生。系统采用JSP页面配合SQL Server数据库,基于JDK1.8开发,可在eclipse、myeclipse、sts、idea等常见…

2026/10/18 10:24:42 阅读更多 →
CSS class选择器:可重复性、样式复用与命名规范实战

CSS class选择器:可重复性、样式复用与命名规范实战

1. 从类名那个“可重复”开始说起每个写过CSS的人,第一天接触的就是选择器。而class选择器,恐怕是日常开发里用得最多、最顺手的一个。标题里“可重复”这三个字,正是它的灵魂所在——一个class可以挂在任意多个元素上,同样一组样…

2026/10/18 10:24:42 阅读更多 →
XAudio2_3.dll丢失别乱下载:官方修复与系统级排查指南

XAudio2_3.dll丢失别乱下载:官方修复与系统级排查指南

先劝你一句:看到“XAudio2_3.dll丢失、找不到”这种报错的时候,先别急着满世界搜“免费下载”。我处理过太多类似的求助,可以说绝大多数机器的这个报错,根源根本不在那个孤立的小文件上,而是在整个音频运行环境。XAudi…

2026/10/18 10:24:42 阅读更多 →
凸优化视角下的视频运动估计:十一种帧间预测算法统一框架

凸优化视角下的视频运动估计:十一种帧间预测算法统一框架

简介:这是一份面向凸优化课程大作业的完整代码包,围绕MV子视角帧间预测任务,汇聚穷尽块匹配、三步搜索法、分层块匹配三类运动估计方法,结合光流估计与单应性矩阵进行交叉组合,共实现十一种可运行方案。每种方法均配有…

2026/10/18 10:23:42 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →