杰理AC692X-SDK运行

本文介绍了杰理AC692X-SDK的初始化与运行流程,主要涉及两个部分:1) 模块的task_deal函数执行,作为模块主函数,通过消息队列进行操作;2) 定时器中断处理,以time值定时回调fun函数。程序结构包括任务数组和结构体定义,用于任务管理和定时器中断处理。
摘要由CSDN通过智能技术生成

SDK的初始化及运行参考Jim_天河博主的博客
最终程序会在两个部分中执行:
1每个模块的 下运行task_deal函数,例蓝牙模块,相当于这个模块的主函数,杰理主函数以message为媒介运行,仔细分析代码可以发现所有模块的函数的主体都是,主函数中一直出队列获取消息,其他地方发布消息

void task()
{
   
	/* 模块初始化 */
	while(1){
   
		/* 获取消息队列中消息 */
		error = task_get_msg(0, 2, msg);
		/* 这里调用task_common_msg_deal可以实现各种外设接入或者按键跳转模块
		在调用task_switch这个函数之后成功,这个函数即可完成模块的切换,
		task_common_msg_deal会返回 false,使得当前模块的函数被return*/
		if (task_common_msg_deal(NULL, msg[0]) == false) {
   
            return ;
        }
		switch(msg[0]){
   
		/* 各种消息处理 */
		}
	}
}

在这里插入图片描述
2定时器中断 time值代表 time*2ms时间回调一次fun函数指针,定时在timer0中进行,类似于定时器中断处理。

/*不同功能的循环检测功能统一用LOOP_DETECT_REGISTER注册,可搜索关键字看例子*/
struct loop_detect_handler {
   
    int time;/*TIMER周期的倍数。timer周期默认一般是2ms */
    void (*fun)();
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值