- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验八应答ACK帧实验
CITE-T-VC系列套件
一、实验目的
学会使用CC2530关于AUTOACK自动应答的功能。
3
1
2
学会如何保证无线数据传输的正确性和稳定性。
二、实验设备
三、实验相关知识介绍
四、实验内容
中心节点A以一定的时间间隔向无线传感器模块B发送一包数据并请求ACK应答。当节点B设置为硬件自动应答时,节点A将收到节点B的应答帧,节点A将该帧转发至PC串口并显示;当B没有设置为自动应答时,节点A收不到节点B的应答帧。节点B是否自动应答可以通过按键来选。
中心节点
A
无线模块
B
PC
以一定
时间间隔
发送数据
并请求ACK
硬件自动应答
发送应答帧
发送B的
应答帧至
PC显示
五、程序流程图(1)
节点A①:
系统初始化
延时一段时间
调用RF_TX()函数
发送一数据包
延时
确保数据发送完成
五、程序流程图(2)
节点A②:
RF中断
RF中断返回
串口中断返回
串口中断
串口中断处理函数
清中断标志位
将数据赋值到数组
五、程序流程图(3)
节点B:
系统初始化
标志变量取反
是否有按键发生
flag==0xFF?
flag==0x00?
启用Auto_Ack
返回继续检测
禁用Auto_Ack
否
否
否
是
是
是
六、实验参考程序(1)
无线传感器模块B的CITE-T-VC-Ack-End.c参考程序①:
voidmain(void)
{
SystemInit();//系统初始化
flag=0x00;//标志位为0时开启
Auto_AckLED3=0;//初始化LED3点亮标志开启
Auto_AckFRMCTRL0|=0x20;//开启Auto_Ack
while(1)
{
if(Button_CH())//按键检测
{
flag=~flag;
名称:main()
功能:主函数
入口参数:无
出口参数:无
六、实验参考程序(2)
无线传感器模块B的CITE-T-VC-ACK-End.c参考程序②:
if(flag==0xFF)//如果标志变量flag=0xFF
{
FRMCTRL0=~0x20;//禁用Auto_Ack
LED3=1;//LED3灭
}
if(flag==0x00)//如果标志变量flag=0x00
{
FRMCTRL0|=0x20;//启用Auto_Ack
LED3=0;//LED3亮
}
}
}
}
七、实验步骤(1)
1
2
3
4
七、实验步骤(2)
7
5
打开中心节点上的电源开关。
6
七、实验步骤(3)
部分显示结果如下:
串口显示结果
八、实验现象
九、实验题
使用软件应答需要做的准备工作有:关闭硬件自动应答;判断接收到的帧
中应答请求是否为1;若为1有应答请求,就将应答帧发送出去。
此程序保存在实验题-无线射频实验-实验8-实验题1的文件夹中,可以直接打开这个文件
中的工程文件,将程序分别下载到中心节点和无线传感器模块的无线模块,观察实验现象。
文档评论(0)