一、前言

基于一段时间的优化cola os发布了1.2.0版本。

  1. 增加串口使用例程
  2. 优化任务管理
  3. 增加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例程相关推荐

  1. SOFA Weekly|MOSN v1.3.0 版本发布、公众号半自助投稿、本周 Contributor QA

    SOFA WEEKLY | 每周精选  筛选每周精华问答,同步开源进展 欢迎留言互动- SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁 ...

  2. 免费的可视化Web报表工具,JimuReport v1.5.0版本发布

    项目介绍 积木报表,一款免费的可视化Web报表工具,像搭建积木一样在线拖拽设计!功能涵盖,数据报表.打印设计.图表报表.大屏设计等! 秉承"简单.易用.专业"的产品理念,极大的降低 ...

  3. 以太坊2.0客户端Lighthouse发布v1.3.0版本,为高优先级建议立即更新

    官方消息,以太坊2.0客户端Lighthouse开发团队Sigma Prime表示,发布Lighthouse v1.3.0版本.该版本包括对信标链节点的重要错误修复,应将其视为所有质押者的高优先级,应 ...

  4. Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台

    Jeecg-Boot 2.0.0 版本发布,前后端分离快速开发平台 Jeecg-Boot项目简介 源码下载 升级日志 Issues解决 v1.1升级到v2.0不兼容地方 系统截图 Jeecg-Boot ...

  5. 越来越稳!Kubernetes 1.8.0 版本发布

    本文为 K8sMeetup中国社区.Caicloud 工程师 翻译和校稿:邓德源.任玉泉.郑佳金.郭维.包梦江.侯星辉.蔡通.郑文彪.杨朝乐.刘搏 Kubernetes 1.8 被定位为稳定版本,社区 ...

  6. 微信、企业微信和支付窗 SDK 三合一,JeeWx-api 1.2.0 版本发布

    JeeWx-API 1.2.0 版本发布,微信.企业微信和支付窗SDK三合一 摘要: JEEWX-API 是第一款JAVA版微信极速SDK,同时集成企业微信SDK,支付窗SDK,可以快速的基于她进行微 ...

  7. 产品周报第27期|会员新增拉黑用户权益;CSDN APP V5.1.0版本发布……

    hello,大家好,这里是「CSDN产品周报」第27期.本次更新主要涉及APP.问答及会员权益,欢迎大家详细了解和使用. 一.CSDN APP V5.1.0版本发布 1.首页导航支持自定义 首页增加用 ...

  8. 产品周报第30期|编辑器支持自定义写作模板;MarkDown编辑器接入质量分检测功能;CSDN APP V5.2.0版本发布

    hello,大家好,这里是「CSDN产品周报」第30期.本次更新主要涉及博客.首页和CSDN APP,欢迎大家详细了解和使用. 博客产品体验优化 一.编辑器新增自定义模板创建功能 每个人都有自己的写作 ...

  9. QingScan v1.1.0 版本发布会实录

    一.背景 QingScan今天晚上要发布v1.1.0版本了,这个版本黑盒详情页改版还是蛮大的,另外添加了队列功能和扫描进度信息:那今天晚上主要是讲解这个QingScan的一个新版本的一个使用方法以及搭 ...

最新文章

  1. python -- plt图表
  2. python控制台不能输入_python实现在控制台输入密码不显示的方法
  3. ajax的核心有哪些,ajax的核心
  4. linux虚拟用户创建目录权限不足,centos7的FTP服务vsftpd里建立虚拟用户不同目录分配不同权限...
  5. 面向对象第四单元小结
  6. c语言的锁和Python锁,Python中全局解释器锁、多线程和多进程
  7. [数据结构-严蔚敏版]P46栈的顺序存储表示
  8. 什么叫死锁?死锁案例?死锁必须满足哪些条件?如何定位死锁问题?有哪些解决死锁策略?哲学家问题?
  9. Transformer新内核Synthesizer:低复杂度的attention代替点乘式的注意力机制
  10. Jmeter中的几个重要测试指标释义
  11. 【剑指Offer】46、圆圈中最后剩下的数
  12. 字符串匹配算法知多少?
  13. Win7系统更新错误代码80073712的解决办法
  14. MySQL事务原子性、一致性和持久性以及回滚是如何实现的?
  15. 为什么转置512x512矩阵,会比513x513矩阵慢很多?
  16. OpenMesh-网格光顺的算法
  17. 位运算——左移右移运算详解
  18. 没有要使用本计算机 用户必须输入密码,要使用本计算机,用户必须输入用户名和密码选项不见了怎么办...
  19. 纯前端大数据处理技术:葡萄城纯前端开发工具应用实践
  20. 小板匹配 从上层到下层

热门文章

  1. 计算机相关的迎新标语,大学迎新标语(精选50句)
  2. MySQL语句练习50题
  3. 50个高级mysql语句_50句高级SQL语句
  4. 新年新形象,2022年试试这么穿
  5. Python:运用pydub模块转换音频格式、对音频进行剪辑
  6. Python绘制三维图详解
  7. 菜鸟裹裹App分析系列-产品分析
  8. 程序员下海创业开珠宝店 创业失败经历
  9. 00后的可爱语录和强大的80后妈妈--1
  10. 日常问题(0001) Invalid bound statement (not found): com.xx.xx.XXMapper.listForPage