TinyOS之UDPEcho(一) - 精简程序
来源:互联网 发布:淘宝网65平开窗传动器 编辑:程序博客网 时间:2024/06/06 15:17
对于6LoWPAN的学习,tinyos2.x/apps/UDPEcho是对于初学者最好的例子了。系统例程考虑到应用的扩展性,在程序中增添了很多宏定义,对于熟练的应用者而言,这样是便于开发的;但对于初学者,程序显得复杂而臃肿。下面我们本着实现最简单应用的原则,将UDPEcho实例的代码精简。
在本示例中我们要实现的功能是:
- 能够实现ping6功能(支持ICMP协议)
- 能够接收和发送UDP数据包
//UDPEchoC.nc#include <6lowpan.h>configuration UDPEchoC {} implementation { components MainC; components UDPEchoP; UDPEchoP.Boot -> MainC; components IPDispatchC; UDPEchoP.RadioControl -> IPDispatchC; components new UdpSocketC() as Echo; UDPEchoP.Echo -> Echo;}
//UDPEchoP.nc#include <IPDispatch.h>#include <lib6lowpan.h>#include <ip.h>#include <lib6lowpan.h>#include <ip.h>#include "UDPReport.h"#include "PrintfUART.h"module UDPEchoP { uses { interface Boot; interface SplitControl as RadioControl; interface UDP as Echo; }} implementation { event void Boot.booted() { call RadioControl.start(); call Echo.bind(5002); } event void RadioControl.startDone(error_t e) { } event void RadioControl.stopDone(error_t e) { } event void Echo.recvfrom(struct sockaddr_in6 *from, void *data, uint16_t len, struct ip_metadata *meta) { call Echo.sendto(from, data, len); }}上面的精简的代码完全能够实现最初我们设定的功能。
- TinyOS之UDPEcho(一) - 精简程序
- TinyOS之Blink(一) - 底层I/O指定分析
- TinyOS编译过程(一)
- TinyOS程序设计之Blink程序架构图
- TinyOS之旅(1)
- TinyOS在MSP430F2618上移植(一)
- tinyos学习笔记一
- ubuntu之TinyOS安装
- TinyOS、NesC程序开发经验谈
- TinyOS、NesC程序开发经验谈
- TinyOS、NesC程序开发经验谈
- tinyos的程序执行顺序
- TinyOS在MSP430F2618上移植(二)之USCI
- TinyOS在MSP430F2618上移植(三)之LCD
- TinyOS在MSP430F2618上移植(四)之FLASH
- TinyOS之Blink(二) - Platform初始化分析
- CC2538之TinyOS例程实验:6-CCM(AES)实验
- 程序精简第一步之百鸡问题(减少循环提高运行速度)
- IOS开发之——改进iOS客户端的升级提醒功能
- 大话设计模式1 简单工厂模式 策略模式
- IE6不能主动识别UTF-8编码,导致空白页面的问题
- [疯狂Java讲义精粹] 第十一章|多线程
- 流程控制语句(C#)
- TinyOS之UDPEcho(一) - 精简程序
- 最短路 1006
- fedora 设置汉语输入法
- C++编程规范 编程风格 学习 (4) -- 总是初始化变量
- 黑马程序员---this 关键字:
- macosx输入法将英文设成默认
- 使用重叠IO的命名管道服务器
- SQL Server 递归找出父子记录,并标统计当前所在层级用户数
- php环境搭建