- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SimpliciTI 体系结构(2)??
2011-01-25 16:42:10|??分类:?软件工程?|??标签:simpliciti??自动组网??|字号?订阅
SimpliciTI
表2 simpliciti 底层接口
描述 使用的全局变量 void MRFI_SetLogicalChannel
(uint8_t chan) 设置通信频率。
设置完信道后将根据全局变量[1]的值决定是否将系统设置为接收状态。 1.mrfiRadioState void MRFI_SetRFPwr
(uint8_t idx) 设置功率因子。
设置完信道后将根据全局变量[1]的值决定是否将系统设置为接收状态。 1.mrfiRadioState uint8_t MRFI_SetRxAddrFilter
(uint8_t * pAddr) 设置接收数据帧的地址过滤。 ? void MRFI_EnableRxAddrFilter
(void) 使能接收数据帧地址过滤。
该操作将会使全局变量[1]被置位。 1.mrfiRxFilterEnabled void RFI_DisableRxAddrFilter
(void) 失能接收数据帧地址过滤。
该操作将会使全局变量[1]被清零。 1.mrfiRxFilterEnabled void MRFI_Init(void) 初始化。主要指初始化底层接口专用的接收数据缓冲区[1];初始化通讯过程需要使用到的相关IO;根据配置初始化通信频率等特征值;初始化需要向上层提供的随机数种子[2];初始化系统状态[3]为IDLE;获取系统通信速率并据此初始化[4]。 1.mrfiIncomingPacket
2.mrfiRndSeed
3.MrfiRadioState
4.sReplyDelayScalar uint8_t MRFI_Transmit
(mrfiPacket_t * pPacket, uint8_t txType) 根据输入参数使用相应模式发送数据。
数据发送完毕后将根据[1]设置通信状态。 1.mrfiRadioState void MRFI_Receive
(mrfiPacket_t * pPacket) 将底层独有的接收数据缓冲区内的数据拷贝到pPacket指向的缓冲区中。 ? void MRFI_WakeUp(void) 如果系统处于RADIO_STATE_OFF状态则将其唤醒并将[1]设置为IDLE状态。 1.mrfiRadioState int8_t MRFI_Rssi(void) 读取通信通道的RSSI值,转换后返回。 ? uint8_t MRFI_RandomByte
(void) 对随机数种子[1]进行一次迭代更新产生新产生一个随机数。 1.mrfiRndSeed void MRFI_DelayMs
(uint16_t milliseconds) 软件延时函数。 ? void MRFI_ReplyDelay(void) 数据发送后等待接收所调用的延时函数。该函数将启动[1]以使中断函数可以操作[2]。当[2]被置位证明数据接收正常,提前退出。 1.sReplyDelayContext
2.sKillSem void MRFI_PostKillSem(void) 根据[1]赋予的权限对[2]操作以终止接收数据等待。 1.sReplyDelayContext
2.sKillSem uint8_t MRFI_GetRadioState
(void) 返回当前的系统通讯状态。
读取[1]并返回。 1.mrfiRadioState static void Mrfi_SyncPinRxIsr
(void) 该函数由中断触发并调用,模拟物理层对数据进行接收。主要完成的工作是对帧完整性进行验证;对数据帧的校验和进行验证;根据自身地址和功能开关对地址进行过滤(地址过滤操作将允许广播地址通过);转换帧信号标识(RSSI,LQI转换为DB位计量单位的量)。
如果接收到数据,该数据将会填充到[1]内。 1.mrfiIncomingPacket ?
SimpliciTI应用层接口
1.1?smplStatus_t SMPL__Init(uint8_t (*callback)(linkID_t))
功能描述:该函数主要初始化通信系统和simpliciti的协议栈。完成的工作包括有:
A.直接调用驱动层函数MRFI_Init完成通讯硬件设备初始化,随机数种子初始化,物理层数据接收缓冲区初始化等工作。
B.调用网络层函数nwk_nwkInit注册用户接收数据处理函数并初始化连接表数据结构,初始化最大连接数,初始化下一个连接将使用到的接收和发送端口号,初始化下一个连接号;将中心节点地址设
文档评论(0)