你(们)好
您能否解释一下附加到缓冲器长度的数字3是什么意思?
它与特定代码无关、但包含在许多代码中
|
#define CC1101_DATA_LEN CC1101_buffer_LEN - 3. |
TX/RX FIFO 是否也意味着缓冲器?
当第一个字节是目的地址时、剂量是指 SYNC 还是前导码字节?
此致
穆斯塔法
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您能否解释一下附加到缓冲器长度的数字3是什么意思?
它与特定代码无关、但包含在许多代码中
|
#define CC1101_DATA_LEN CC1101_buffer_LEN - 3. |
上述情况意味着 CC1101_DATA_LEN 为3 (字节??) 小于 CC1101_buffer_LEN
正如我之前告诉过的、当我们不知道如何使用某些定义/变量时、我们无法回答为什么会以特定的方式设置它们。 您需要参考您正在查看的代码示例、以便我们能够给出正确的答案。
TX/RX FIFO 是否也意味着缓冲器?
TX_FIFO 和 RX_FIFO 是无线电的 FIFO。 什么是缓冲区、如果不知道您所引用的代码、我就无法回答。
当第一个字节是目的地址时、剂量是指 SYNC 还是前导码字节?
同样、您需要更加具体。 您谈论的是寄存器的 SPI 地址、还是无线发送的数据包中使用的地址?
Siri
您好 Siri
我真诚的道歉,我知道当你不得不回答模糊的问题时,多么令人沮丧和烦恼
对本主题有经验或缺乏足够的知识。
无论 代码本身是什么、当数据包被写入 TR FIFO 并由 RX FIFO 读取时、就会有一个缓冲区(区域)、因此我的问题是这样的
在这种情况下、缓冲区的定义是什么?
在本例 中#define CC1101_DATA_LEN CC1101_buffer_LEN - 3的字节数是什么决定或确定的?
当数据包是可变的时、第一个字节是长度字节。
当数据包被固定时、第一个字节为地址字节
无论是可变数据包还是固定数据包、传输顺序分别是 (长度字节/地址字节、前导码、同步)、长度、地址、 数据、CRC。
此致
穆斯塔法
#ifndef _CCPACKET_H
#define _CCPACKET_H
#include "Arduino.h"
/**
* Buffer and data lengths
*/
#define CC1101_BUFFER_LEN 64
#define CC1101_DATA_LEN CC1101_BUFFER_LEN - 3
/**
* Class: CCPACKET
*
* Description:
* CC1101 data packet class
*/
class CCPACKET
{
public:
/**
* Data length
*/
byte length;
/**
* Data buffer
*/
byte data[CC1101_DATA_LEN];
/**
* CRC OK flag
*/
boolean crc_ok;
/**
* Received Strength Signal Indication
*/
byte rssi;
/**
* Link Quality Index
*/
byte lqi;
};
#endif你好,Mustafa
CC1101具有 TX FIFO 和 RX FIFO、这是器件中的缓冲区/区域、可容纳64字节。
在 MCU 上运行的应用中、通常会创建一个缓冲区、用于存储要写入 TX FIFO 和从 RX FIFO 读取的数据。 这些缓冲区的大小取决于您希望接收的数据包的大小。 如果对讲机使用数据包长度过滤、这样您永远不会接收到超过30字节(包括长度和状态字节)的数据包、则缓冲区不必大于30字节、即使 FIFO 大于30字节也是如此。
在您所引用的示例代码中、我假设它们使用标准数据包格式、并启用可变数据包长度和 append_status。 我还将假定它们使用数据包长度过滤、并且它们希望整个数据包在 RX FIFO 中有空间。
由于 CC1101_buffer_LEN 为64 (与 RX FIFO 的长度相同)、已将 CC1101_DATA_LEN 设置为61。 这将是实际有效载荷、并存储在称为"数据"的缓冲区中。
CRC_OK、RSSI 和 LQI 变量表示它们也接收状态信息。
它们可以接收的最大长度字节为61。 在 RX FIFO 中、将有长度字节(61)、61个有效载荷字节和2个状态字节(总共64字节)。 如果它们不使用长度滤波(PKTLEN = 61)、它们将有 RX FIFO 溢出的风险、并且它们将没有空间存储接收到的数据、因为"数据"缓冲区只有61字节长。
关于数据包格式、数据表的第15.2节对此进行了说明。
Siri