基本进程的创建实例:

共三部分:创建进程、进程自启动和进程的主体部分

 /* 声明一个名为hello_world_process和led_process进程
PROCESS 宏实际上声明一个函数并定义一个进程控制块,
新创建的进程 next 指针指向空,进程名称为“Hello world”和“led”*/
PROCESS(hello_world_process, "Hello world");
PROCESS(led_process, "led");
/* 进程需要自动启动,即当节点启动时启动本进程 */
AUTOSTART_PROCESSES(&led_process,&hello_world_process); /* hello_world_process进程的主体部分 */
PROCESS_THREAD(hello_world_process, ev, data)
{
/* 所有的进程开始执行前都必须要有这条语句 */
PROCESS_BEGIN(); printf("Hello world :)\n"); /* 所有的进程结束时都必须要有这条语句 */
PROCESS_END();
}
/*led_process进程的主题部分*/
PROCESS_THREAD(led_process, ev, data)
{
PROCESS_BEGIN();//宏用于辅助保存断点信息 (即行数 ),
//欲实现的代码必须放在宏 PROCESS_BEGIN 与 PROCESS_END 之间
while()
{
static struct etimer et;
etimer_set(&et, CLOCK_SECOND/);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et)); led_on();
printf("LED0 ----ON-----\r\n"); led_off();
printf("LED1 -----OFF-----\r\n"); etimer_set(&et, CLOCK_SECOND/);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et)); led_off();
printf("LED0 -----OFF-----\r\n");
led_on();
printf("LED1 ----ON-----\r\n"); }
PROCESS_END();//宏用于辅助保存断点信息 (即行数 )
}

然后在main函数中:

 int main()
{ BoardInit();
DEBUG("BoardInit Done!");
printf("Initialising\r\n");
clock_init();//时钟初始化
process_init();//进程初始化 process_start(&etimer_process, NULL);//启动系统进程
autostart_start(autostart_processes);//启动用户自启动进程
printf("Processes running\r\n");
while() {
do
{
}
while(process_run() > );
idle_count++;
}
}

参考博客:http://blog.csdn.net/ferlansue/article/details/7256964

contiki-main.c 文件的进程分析的更多相关文章

  1. linux用户进程分析

           经过实验3的介绍.我们须要来点实在的.所以将我们理解的流程用于linux系统的分析.换句话说.通过类比的方式去进行描写叙述与理解linux相关的部分. 本节的内容非常详实.并且也分析 ...

  2. 鸿蒙内核源码分析(ELF格式篇) | 应用程序入口并不是main | 百篇博客分析OpenHarmony源码 | v51.04

    百篇博客系列篇.本篇为: v51.xx 鸿蒙内核源码分析(ELF格式篇) | 应用程序入口并不是main | 51.c.h.o 加载运行相关篇为: v51.xx 鸿蒙内核源码分析(ELF格式篇) | ...

  3. v87.01 鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main () | 百篇博客分析 OpenHarmony 源码

    本篇关键词:内核重定位.MMU.SVC栈.热启动.内核映射表 内核汇编相关篇为: v74.01 鸿蒙内核源码分析(编码方式) | 机器指令是如何编码的 v75.03 鸿蒙内核源码分析(汇编基础) | ...

  4. Dump 文件生成与分析

    近期两天因为项目的须要,研究了一下Dump文件相关的知识,今天做一个小节(因为研究不久而且第一次写blog,希望网友们看到不要见笑). Dump文件是进程的内存镜像.能够把程序的运行状态通过调试器保存 ...

  5. ORA-03113: 通信通道的文件结尾 进程 ID: 764 会话 ID: 125 序列号: 5

    昨天因为导入很久数据,最后一看是因为数据文件不够,后来就关机了.现在,开启数据库,总是报“ORA-03113: 通信通道的文件结尾” SQL> conn /as sysdba; 已连接到空闲例程 ...

  6. mysql死锁-查询锁表进程-分析锁表原因【转】

    查询锁表进程: 1.查询是否锁表 show OPEN TABLES where In_use > 0;   2.查询进程     show processlist   查询到相对应的进程===然 ...

  7. 进程分析之CPU

    进程分析之CPU 进程分析之CPU 本文转载自:https://github.com/ColZer/DigAndBuried/blob/master/system/cpu.md 在<进程分析之内 ...

  8. Keil开发的ARM程序main函数之前的汇编分析

    Keil开发的ARM程序main函数之前的汇编分析 ——BIN文件中RW段的数据移动 系统平台: STM32系列STM32F103ZE,512KB内部FLASH,64KB片内存储; FLASH地址范围 ...

  9. Windows下获取Dump文件以及进程下各线程调用栈的方法总结(转)

    1. Dump文件的用途 Dump文件, 主要用于诊断一个进程的运行状态,尤其是碰到崩溃(Crash)或者挂起(hang)不响应时,需要分析它的工作状态.  除了平时常见的attach到这个进程, 分 ...

随机推荐

  1. windows2003安装TestDirector8.0 安装时输入用户名密码 提示错误

    1.TestDirector8.0的安装过程 2.修改错误 右键“我的电脑”->“属性”->"高级"->性能对应的"设置"->" ...

  2. entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据

    public class AppServerAction extends BaseAction {    /**     *      */ /**      * 初始化 “我的产品”列表 JSP页面 ...

  3. elasticsearch使用操作部分

    本片文章记录了elasticsearch概念.特点.集群.插件.API使用方法. 1.elasticsearch的概念及特点.概念:elasticsearch是一个基于lucene的搜索服务器.luc ...

  4. JS阻止链接跳转代码

    刷新后focus在第一个标签 onload="$('#input_email').focus(); " $(document).ready(function(){ $(" ...

  5. PRML读书笔记——Introduction

    1.1. Example: Polynomial Curve Fitting 1. Movitate a number of concepts: (1) linear models: Function ...

  6. iOS开发中NSLog输出格式大全

    本文的内容是总结了一下iOS开发中NSLog输出格式大全,虽然比较基础,但有总结毕竟会各位正在学习iOS开发的朋友们一些小小的帮助. %@                   对象 %d, %i    ...

  7. mysql部署到云主机的笔记

    写了个程序,需要把数据库部署到云主机上 MySQL基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限 为了安全,新添加一个用户来进行远程登录 登录MYSQL: ...

  8. ELK修炼之道

    看了ELK大半年了,现在就慢慢的总结一下对ELK的理解 参考资料 ELK stack中文指南 Elasticsearch权威指南 官方文档 Elasticsearch基础篇 此篇用于介绍Elastic ...

  9. Python之通过IP地址库获取IP地理信息

    利用第三方的IP地址库,各个公司可以根据自己的业务情况打造自己的IP地址采集分析系统.例如游戏公司可以采集玩家地区信息,进行有针对性的运营策略,还可能帮助分析玩家网络故障分布等等. #!/usr/bi ...

  10. quick Cocos2dx lua 接anysdk

    quick3.3 的quick\samples\anysdk中有例子,具体用法可以参考官方文档,将的非常详细. 1.框架接口设计 系统介绍 必接入流程简要描述 消息通知 可扩展性 测试模式 添加测试账 ...