afDataReqMTU()基于 输入参数可以发送字节数的最大值

在API的手册中可以看出,

根据此函数,能读取最大有效载荷的大小;

ti论坛的解释:

The maximum payload size for an application is based on several factors. The MAC layer provides a constant payload length of 116 (can be changed in f8wConfig.cfg – MAC_MAX_FRAME_SIZE). The NWK layer requires a fixed header size, one size with security and one without security. The APS layer has a required, but variable,header size based on a variety of settings, including the ZigBee Protocol Version, APS frame control settings, etc.

Ultimately, the user does not have to calculate the maximum payload size using the aforementioned factors. The AF module provides an API that allows the user to query the stack for the maximum payload size, or the maximum transport unit (MTU). The user can call the function, “afDataReqMTU” (see “af.h”) which will return the MTU, or maximum payload size

自己实测:

  int a=512;
   char temp[3];
  afDataReqMTU_t *pafData;
  afDataReqMTU_t afData;

  afData.kvp=0;
  afData.aps.secure=0;
  *pafData=afData;
  a=afDataReqMTU(pafData);
  sprintf(temp, (const char *)"%d",a);
  MT_UartInit ();
  MT_UartRegisterTaskID(task_id);//注册串口任务
  HalUARTWrite(0,(unsigned  char *)&temp[0],4); //发送数据

利用串口发送,数据最大载荷为99.

时间: 2024-11-04 18:54:59

afDataReqMTU()基于 输入参数可以发送字节数的最大值的相关文章

EditText字符限制-字节数限制-一次截取超过限制部分

EditText字符限制-字节数限制-一次截取超过限制部分 一.需求描述: 转载请注明出处:http://www.cnblogs.com/wangqx/p/6096272.html 对EditText字符个数限制,当用户输入字符串超长度过指定值时,不允许输入,并给出提示. 二.实现描述: 看了网上关于EditText字符串限制的一些例子,但都过于简单,不是想要的,故自己实现了下. 和网上例子功能对比: 1.此demo是对字符字节数的限制,无需区分是中文还是英文,相比对字符个数的限制, 对字节数限

python关于文件操作中的字符个数和字节数

记得刚开始学习python文件操作写文件的时候有个问题,很奇怪.最后知道了就是字节数的原因. 我们先来看个例子. 新建个文件存为utf-8命名为0117utf-8.txt记得去掉BOM头. 我们用r+模式尝试去修改 >>> fp=open("d:\\pydelete\\0117utf-8.txt","r+")>>> fp.write("aa")2>>> fp.close()>>&g

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

基于输入子系统的按键驱动程序

输入子系统框图: 基于输入子系统的按键驱动程序步骤: 1.分配input_dev结构体 2.设置这个结构体 3.注册 4.硬件相关操作(有数据产生时调用 input_event来上报). 1.分配input_dev结构体 首先要定义这个结构体:static struct input_dev *buttons_dev; 然后在init函数中进行以下操作:buttons_dev = input_allocate_device(); 2.设置这个结构体 使用set_bit来设置这一个位,能设置以下参数

C#基础--基于POP3协议的邮件接收和基于STMP的邮件发送

最近在用outlook同步邮件.对邮件协议有一点兴趣.于是就去收集了一些资料,学习了一下如何通过.net来实现邮件的收发.    一:SMTP协议  1.什么是SMTP协议:       SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议.在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确定是存在的),然后消息文本就传输了.可以很简单地通过Telnet程序来测试一个SMTP服务器,SMTP使用TCP端口25.要为一个给定的域名决定一个SMT

UITextField最大字符数和最大字节数的限制

UITextView,UITextfield中有很多坑,网上的方法也很多,但是用过之后暂时没有发现一个好用.这里我给大家几组测试用例可以一试,为啥不好用. 限制10个字节,输入2个Emoj之后是8个字节(一个Emoj是4个字节),此时再输入一个中文,看看结果如何(中文的UTF8占3个字节) 限制5个字符,一个Emoj是2个字符,其他都是一个.此时输入两个Emoj,再输入中文,然后中文联想试试. 就目前的情况来说,看了很多资料,并没有一个通用的能限制字符数和字节数的封装.这里全面进行了总结,并进行

为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)

在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAccessManager::finsh和QNetworkReply::error和QNetworkReply::finsh信号. 所以动念头为下载加个超时,但是QNetworkAccessManager,QNetworkReply和QNetworkRequest都没有相关的设置函数.其实仔细想一下,也没有

GO学习笔记 - 函数名前面是否有输入参数肯定是不一样的!!

在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输入参数,是一般的函数:有输入参数,是结构的方法,输入参数叫做"方法接收者"!GO语言没有类,方法都定义在结构上了!! 官方教程: 函        数:https://tour.go-zh.org/basics/4 结构体方法:https://tour.go-zh.org/methods/1 实例代码: main.go : 引入了"sunylat/de

部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法

前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML <input type="file" id="choose" capture="camera" accept="image/*"> JavaScript var filechooser = document.getEleme