Download presentation
Presentation is loading. Please wait.
1
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
2、了解tinyos中task抽象及其使用。 3、在Blink程序中使用task实现计算和外部设备操作的并发。
2
二、预备知识 1、课堂讲义 2、TinyOS Programming 3、TinyOS Blink源程序
4、TinyOS printf组件的使用
3
1、修改Blink程序,在timer0的触发事件处理中加入计算
三、实验内容 1、修改Blink程序,在timer0的触发事件处理中加入计算 观察LED亮灯的情况,分析其原因,将400001改为10001,再观察并进行分析。 event void Timer0.fired() { uint32_t i; dbg("BlinkC", "Timer 0 %s.\n", sim_time_string()); for(i=0;i<400001;i++) call Leds.led0Toggle(); }
4
三、实验内容 2、采用task实现计算 观察LED亮灯的情况,分析其原因,将400001改为10001,再观察并进行分析。
uint32_t i; task void computeTask() { for (i=0;i ; i++) {} } event void Timer0.fired() { dbg("BlinkC", "Timer 0 %s.\n", sim_time_string()); call Leds.led0Toggle(); post computeTask(); } 观察LED亮灯的情况,分析其原因,将400001改为10001,再观察并进行分析。
5
三、实验内容 3、请修改computetask的内容,将400001次计算分割成为若干小的部分,从而使得LED1和LED2的fire事件可以被正常调用。
Similar presentations