请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC1201 uint8 txBuffer[32]={0};
cc120xSpiWriteTxFifo (txBuffer、sizeof (txBuffer));
TrxSpiCmdStrobe (CC120X_STX);
TrxSpiCmdStrobe (CC120X_STX);
//等待数据包已发送的中断。
//(假设连接到 radioRxTxISR 函数的 GPIO 为
//设置为 GPIOx_CFG = 0x06)
while (packetSemaphore!= ISR_ACT_REQUIRED);
//清除信号量标志
packetSemaphore = ISR_IDLE;
HAL_NVIC_EnableIRQ (EXTI4_IRQn);
cc120xSpiReadReg (CC120X_NUM_TXBYTES、&txBytes、1);
//(假设连接到 radioRxTxISR 函数的 GPIO 为
//设置为 GPIOx_CFG = 0x06)
while (packetSemaphore!= ISR_ACT_REQUIRED);
//清除信号量标志
packetSemaphore = ISR_IDLE;
HAL_NVIC_EnableIRQ (EXTI4_IRQn);
cc120xSpiReadReg (CC120X_NUM_TXBYTES、&txBytes、1);
问题:
1.当我发送1次时,txBytes 为0x20;
2.当我发送2次时,txBytes 为0x3f;
3 当我发送3次时、txBytes 为0x5e;
4.当我发送4次时,txBytes 为0x7c;
5.当我发送5次时 ,STX 状态字节为0x7f,表示 TX FIFO 已上溢/下溢。
为何出现 Tx FIFO 错误? 当我完成发送数据包时、txBytes 必须为0x20?