cola_os|cola_os(v1.2.0)版本发布增加国产单片机SWM181例程
一、前言
基于一段时间的优化cola os发布了1.2.0版本。
- 增加串口使用例程
- 优化任务管理
- 增加SWM181国产MCU例程
二、代码介绍
cola os说明
三、os代码
#ifndef _COLA_OS_H_
#define _COLA_OS_H_#include <stdint.h>
#include <stdbool.h>#define COLA_VERSION 1
#define COLA_SUBVERSION 2
#define COLA_REVISION 0//任务事件
enum EVENT_SIG
{SIG_ALARM = 1 << 0,SIG_DATA = 1 << 1,SIG_NOTE = 1 << 2,SIG_UART = 1 << 3,SIG_RADIO = 1 << 4,SIG_GPRS = 1 << 5,SIG_USR1 = 1 << 8,SIG_USR2 = 1 << 9,SYS_EVENT_MSG = 1 << 15,
};enum
{TIMER_ALWAYS = 0x00,TIMER_ONE_SHOT = 0x01,
};enum
{TASK_IDLE = 0x00,TASK_BUSY = 0x01,
};typedef void (*cbFunc)(void *arg,uint32_t event);typedef struct task_s
{uint8_t timerNum; //定时编号uint32_t period; //定时周期bool oneShot; //true只执行一次bool start; //开始启动uint32_t timerTick; //定时计数bool run; //任务运行标志 bool taskFlag; //任务标志是主任务还是定时任务uint32_t event; //驱动事件 cbFunc func; //回调函数bool isBusy; //用于低功耗控制void* usr; //用户接口struct task_s *next;
}task_t;#define stimer task_t
extern volatile unsigned int jiffies;
/*主循环任务创建
*/
int cola_task_create(task_t *task,cbFunc func,void *arg);
/*主循环任务删除
*/
int cola_task_delete(task_t *task);
/*任务遍历,放到while(1)循环中
*/
void cola_task_loop(void);
/*定时任务创建
*/
int cola_timer_create(task_t *timer,cbFunc func,void *arg);
/*启动定时任务one_shot:TIMER_ALWAYS 循环定时TIMER_ONE_SHOT 只运行一次time_ms :定时时间
*/
int cola_timer_start(task_t *timer,bool one_shot,uint32_t time_ms);
/*停止定时任务
*/
int cola_timer_stop(task_t *timer);/*删除定时任务
*/
int cola_timer_delete(task_t *timer);/*定时任务遍历,放到1ms ticker中
*/
void cola_timer_ticker(void);
/*设置任务事件
*/
int cola_set_event(task_t *task,uint32_t sig_id);
/*取消任务事件
*/
int cola_clear_event(task_t *task,uint32_t sig_id);
/*阻塞延时函数
*/
void cola_delay_ms(uint32_t ms);
/*设置休眠函数接口
*/
int cola_set_sleep_handel(cbFunc func);
#endif
四、运行log
五、代码下载
代码下载
cola_os|cola_os(v1.2.0)版本发布增加国产单片机SWM181例程相关推荐
- SOFA Weekly|MOSN v1.3.0 版本发布、公众号半自助投稿、本周 Contributor QA
SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动- SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁 ...
- 免费的可视化Web报表工具,JimuReport v1.5.0版本发布
项目介绍 积木报表,一款免费的可视化Web报表工具,像搭建积木一样在线拖拽设计!功能涵盖,数据报表.打印设计.图表报表.大屏设计等! 秉承"简单.易用.专业"的产品理念,极大的降低 ...
- 以太坊2.0客户端Lighthouse发布v1.3.0版本,为高优先级建议立即更新
官方消息,以太坊2.0客户端Lighthouse开发团队Sigma Prime表示,发布Lighthouse v1.3.0版本.该版本包括对信标链节点的重要错误修复,应将其视为所有质押者的高优先级,应 ...
- Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台
Jeecg-Boot 2.0.0 版本发布,前后端分离快速开发平台 Jeecg-Boot项目简介 源码下载 升级日志 Issues解决 v1.1升级到v2.0不兼容地方 系统截图 Jeecg-Boot ...
- 越来越稳!Kubernetes 1.8.0 版本发布
本文为 K8sMeetup中国社区.Caicloud 工程师 翻译和校稿:邓德源.任玉泉.郑佳金.郭维.包梦江.侯星辉.蔡通.郑文彪.杨朝乐.刘搏 Kubernetes 1.8 被定位为稳定版本,社区 ...
- 微信、企业微信和支付窗 SDK 三合一,JeeWx-api 1.2.0 版本发布
JeeWx-API 1.2.0 版本发布,微信.企业微信和支付窗SDK三合一 摘要: JEEWX-API 是第一款JAVA版微信极速SDK,同时集成企业微信SDK,支付窗SDK,可以快速的基于她进行微 ...
- 产品周报第27期|会员新增拉黑用户权益;CSDN APP V5.1.0版本发布……
hello,大家好,这里是「CSDN产品周报」第27期.本次更新主要涉及APP.问答及会员权益,欢迎大家详细了解和使用. 一.CSDN APP V5.1.0版本发布 1.首页导航支持自定义 首页增加用 ...
- 产品周报第30期|编辑器支持自定义写作模板;MarkDown编辑器接入质量分检测功能;CSDN APP V5.2.0版本发布
hello,大家好,这里是「CSDN产品周报」第30期.本次更新主要涉及博客.首页和CSDN APP,欢迎大家详细了解和使用. 博客产品体验优化 一.编辑器新增自定义模板创建功能 每个人都有自己的写作 ...
- QingScan v1.1.0 版本发布会实录
一.背景 QingScan今天晚上要发布v1.1.0版本了,这个版本黑盒详情页改版还是蛮大的,另外添加了队列功能和扫描进度信息:那今天晚上主要是讲解这个QingScan的一个新版本的一个使用方法以及搭 ...
最新文章
- python -- plt图表
- python控制台不能输入_python实现在控制台输入密码不显示的方法
- ajax的核心有哪些,ajax的核心
- linux虚拟用户创建目录权限不足,centos7的FTP服务vsftpd里建立虚拟用户不同目录分配不同权限...
- 面向对象第四单元小结
- c语言的锁和Python锁,Python中全局解释器锁、多线程和多进程
- [数据结构-严蔚敏版]P46栈的顺序存储表示
- 什么叫死锁?死锁案例?死锁必须满足哪些条件?如何定位死锁问题?有哪些解决死锁策略?哲学家问题?
- Transformer新内核Synthesizer:低复杂度的attention代替点乘式的注意力机制
- Jmeter中的几个重要测试指标释义
- 【剑指Offer】46、圆圈中最后剩下的数
- 字符串匹配算法知多少?
- Win7系统更新错误代码80073712的解决办法
- MySQL事务原子性、一致性和持久性以及回滚是如何实现的?
- 为什么转置512x512矩阵,会比513x513矩阵慢很多?
- OpenMesh-网格光顺的算法
- 位运算——左移右移运算详解
- 没有要使用本计算机 用户必须输入密码,要使用本计算机,用户必须输入用户名和密码选项不见了怎么办...
- 纯前端大数据处理技术:葡萄城纯前端开发工具应用实践
- 小板匹配 从上层到下层
热门文章
- 计算机相关的迎新标语,大学迎新标语(精选50句)
- MySQL语句练习50题
- 50个高级mysql语句_50句高级SQL语句
- 新年新形象,2022年试试这么穿
- Python:运用pydub模块转换音频格式、对音频进行剪辑
- Python绘制三维图详解
- 菜鸟裹裹App分析系列-产品分析
- 程序员下海创业开珠宝店 创业失败经历
- 00后的可爱语录和强大的80后妈妈--1
- 日常问题(0001) Invalid bound statement (not found): com.xx.xx.XXMapper.listForPage