请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2538Thread 中讨论的其他器件: Z-stack
大家好、
我们将锁定到前进位置以测试我们的新天线 PCB。 因此、我尝试在最大 TX 输出功率下使用 ti cc2538无线电模块的未调制测试音。
我的问题是固件仅在刷写后正常运行。 重置控制器(例如断电)后、不再发出测试音。 重新刷新 UC 也不起作用。 如果我在刷写测试固件之前加载另一个固件、我将获得与之前描述的相同行为。
我从最新 z 堆栈样本中提取的无线电设置(znpTestRF 函数)
请找到以下我的代码
感谢您的任何帮助-谢谢
#include "board.h"
#include "radio.h"
#include "LEDs.h"
#include
#include
#include
#include
#include
#include
#include "cc2538rf.h"
//================================ 变量========================================================
静态空 clock_init (void){
/*禁用全局中断*/
bool bIntDisabled = IntMasterDisable();
/*为晶振操作配置32kHz 引脚 PD6和 PD7 */
/*默认情况下,它们配置为 GPIO */
GPIODirModeSet (GPIO_D_base、0x40、GPIO_DIR_MODE_IN);
GPIODirModeSet (GPIO_D_base、0x80、GPIO_DIR_MODE_IN);
IOCPadConfigSet (GPIO_D_base、0x40、IOC_OVERRIDE_ANA);
IOCPadConfigSet (GPIO_D_base、0x80、IOC_OVERRIDE_ANA);
/*将实时时钟设置为使用32kHz 外部晶体*/
/*将系统时钟设置为使用外部32MHz 晶体*/
/*将系统时钟设置为32MHz */
SysCtrlClockSet (true、false、SYS_CTRL_SYSDIV_32MHz);
/*将 IO 时钟设置为以16MHz 运行*/
//这样,外设可以在系统时钟选通时运行*/
SysCtrlIOClockSet (SYS_CTRL_SYSDIV_16MHz);
/*等待选定的时钟配置稳定*/
while (!((HWREG (SYS_CTRL_CLOCK _STA))和(SYS_CTRL_CLOCK _STA_XOSC_STB)));
/*如果最初启用、则重新启用中断*/
if (!bIntDisabled){
IntMasterEnable();
}
}/**
\brief 程序在此处开始执行。
//
int main (void){
uint32_t reg;
//初始化电路板
clock_init ();
/*如果我们关闭,请不要关闭,因为这将触发 Strobe 错误*/
if (HWREG (RFCORE_XREG_RXENABLE)!= 0){
CC2538_RF_CSP_ISRFOFF ();
//清除 FIFO ISR 标志
HWREG (RFCORE_SFR_RFIRQF0)=~(RFCORE_SFR_RFIRQF0_FIFOP|RFCOR_SFR_RFIRQF0_RXPKTDONE);
}
HWREG (RFCORE_XREG_MDMCTRL0)= 0x85;
HWREG (RFCORE_XREG_RXCTRL) = 0x3F;
HWREG (RFCORE_XREG_FSCTRL) = 0x55;
HWREG (RFCORE_XREG_FSCAL1) = 0x01;
HWREG (RFCORE_XREG_AGCCTRL1)= 0x15;
HWREG (RFCORE_XREG_ADCTEST0)= 0x10;
HWREG (RFCORE_XREG_ADCTEST1)= 0x0E;
HWREG (RFCORE_XREG_ADCTEST2)= 0x03;
HWREG (RFCORE_XREG_FRMCTRL0)= 0x43;
HWREG (RFCORE_XREG_FRMCTRL1)= 0x00;
HWREG (RFCORE_XREG_TXPOWER) = 0xFF; //+7dBm
//准备无线电
HWREG (RFCORE_XREG_FREQCTRL)= 0x0B; //通道11、2405MHz
REG = HWREG (RFCORE_XREG_MDMTEST0)&=~0xF0;
HWREG (RFCORE_XREG_MDMTEST0)= reg ||(0x07 << 4);
REG = HWREG (RFCORE_XREG_MDMTEST1)&&=~RFCORE_XREG_MDMTEST1_MOD_IF;//禁用调制
HWREG (RFCORE_XREG_MDMTEST1)= reg;
CC2538_RF_CSP_ISFLUSHTX ();
CC2538_RF_CSP_ISTXON (); //TX_ON
while (1);
}