- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Basestation程序
节点与计算机利用串口通信2-BaseStationBaseStation的功能是实现一个中转的功能,将收到的节点信息发送给计算机,将收到的计算机的信息广播给其他的节点。对于基站的节点来说,LED0s闪烁:发送一个数据包到其他节点。LED1闪烁:接收到数据包,发送一个数据包到串口。LED2闪烁:丢失一个数据包(接收的速度大于发送的速度)。下面对BaseStationP.nc的代码进行分析://需要用到发送信息的数据包和串口#include AM.h????? ?#include Serial.hmodule BaseStationP @safe() {? uses {??? interface Boot;//启动系统????????????????????? ???? interface SplitControl as SerialControl; //串口控制??? interface SplitControl as RadioControl;? //radio控制??? //向串口发送数据的设置am_id_t id,指定发送接收的am数据id??? interface AMSend as UartSend[am_id_t id];??? interface Receive as UartReceive[am_id_t id];??? interface Packet as UartPacket;??? interface AMPacket as UartAMPacket;?? ???? //向radio发送数据的设置??? interface AMSend as RadioSend[am_id_t id];??? interface Receive as RadioReceive[am_id_t id];??? interface Receive as RadioSnoop[am_id_t id]; //嗅探??? interface Packet as RadioPacket;??? interface AMPacket as RadioAMPacket;??? //Led灯设置??? interface Leds;? }}implementation{//设置序列的长度? enum {??? UART_QUEUE_LEN = 12,??? RADIO_QUEUE_LEN = 12,? };? //串口设置? message_t? uartQueueBufs[UART_QUEUE_LEN];//数据Buffer? message_t? * ONE_NOK uartQueue[UART_QUEUE_LEN]; //??????? uint8_t??? uartIn, uartOut;? //???????????? bool?????? uartBusy, uartFull;//串口状态?? //radio设置? message_t? radioQueueBufs[RADIO_QUEUE_LEN];//buffer? message_t? * ONE_NOK radioQueue[RADIO_QUEUE_LEN];? uint8_t??? radioIn, radioOut;?? //????? bool?????? radioBusy, radioFull;//radio状态? //声明? task void uartSendTask();//串口发送? task void radioSendTask();//radio发送? //丢失数据包led2闪烁? void dropBlink() {??? call Leds.led2Toggle();? }?//失败,led2闪烁? void failBlink() {??? call Leds.led2Toggle();? }? //启动? event void Boot.booted() {??? uint8_t i;??? for (i = 0; i UART_QUEUE_LEN; i++)????? uartQueue[i] = uartQueueBufs[i];? //将buffer中的每一个赋给指针??? uartIn = uartOut = 0;?? //输入输出都为0??? uartBusy = FALSE;????? //串口不忙??? uartFull = TRUE;?????? //数据已满??? //同理设置radio??? for (i = 0; i RADIO_QUEUE_LEN; i++)
您可能关注的文档
- 《ajax与structs应用的小例子.docx
- 《Ajax请求.doc
- 《AI自学过程.doc
- 《AI自定义图案.doc
- 《AI海报制作.doc
- 《ajennjb智能手机简介讲师讲义.doc
- 《akdsmch中国制造业在经济全球中的地位和作用.doc
- 《发酵罐设计.doc
- 《although与though的区别.doc
- 《AI打造立体圆环文字效果.doc
- 2025年乡村民宿品牌视觉识别设计在提升乡村民宿吸引力的策略.docx
- 2025年汉服消费者购物体验与品牌形象塑造研究报告.docx
- 社区团购团长激励体系构建与实施策略2025.docx
- 工业互联网设备数据采集在2025年工业设备预测性维护中的应用报告.docx
- 跨境电商健身器材品牌2025年合作市场拓展策略分析报告.docx
- 2025年智能仓储物流项目成本控制与方案优化设计报告.docx
- 2025年二手潮品电商市场推广策略与消费者行为研究.docx
- 智慧城市建设中的数字孪生技术应用,2025年智慧城市安全预警系统报告.docx
- 2025年全球数字医疗市场健康医疗大数据产业发展前景研究报告.docx
- 2025年智能垃圾分类宣传教育基地智能化技术应用分析.docx
文档评论(0)