无线射频(二)

本文详细介绍了CC2530中RF FIFO的使用方法,包括TXFIFO与RXFIFO的存储区域及访问方式,并提供了通过RFD与RXFIFOCNT寄存器读取数据长度的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

前面大体讲解了一下RF内核的知识,今天我们细讲CC2530_RF_FIFO访问 的相关知识。

RF_FIFO

CC2530发送或接收数据是通过FIFO操作来进行的。FIFO访问可以分为TXFIFO访问和RXFIFO访问,其操作都是通过SFR寄存器的RFD操作进行。当写入RFD寄存器时,数据被写入到TXFIFO,当读取数据RFD寄存器时,数据从RXFIFO中读出。

unsigned char i;
signed char tx[ ]={"dh"};
//将mac的内容写到RFD中
for(i=0;i<3;i++)
{     RFD = tx[i];
}

1、RXFIFO存储器区域位于地址0x6000到0x607F,一共128字节,在XREG存储区域中是可以访问的。RXFIFO可以保存一个或多个收到的帧,只要总字节数不大于128字节。有两种方式确定RXFIFO中的字节数:
1)读RFD寄存器

//  通过RFD读接收的数据长度
unsigned char len;
len = RFD;

2)读RXFIFOCNT寄存器

//  通过RXFIFOCNT读接收的数据长度
unsigned char len;
len = RXFIFOCNT;

TXFIFO中的字节数存储在TXFIFOCNT寄存器中,可以通过两种方式来进行TXFIFO的写操作,这里我介绍一种,因为另一种是不推荐的
写入RFD寄存器。


TXFIFO存储器区域位于地址0x6080到0x60FF,一共128字节。它在XREG存储区域中是可以访问的。
在不产生TX下溢的情况下,帧数据可以在执行TX命令选通之前或之后缓冲
阴影部分的字节必须写到TXFIFO的字节,其他字节可以被忽略。写入TXFIFO的帧数据根据了FRMCTRL0.AUTOCRC(CRC自动校验)是否启用可以分为两种情况:当AUTOCRC为0时,没有启动硬件自动检测;当AUTOCRC为1时,启动了硬件自动检测。


今天的内容就讲到这里,下期讲讲RF的发送过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值