From cb037453c59b56bea6dba09c4211d5180571b41f Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 31 一月 2024 11:09:42 +0800 Subject: [PATCH] V2.1增加可以下发修改uwb频率,同上位机测距频率。 --- decadriver/deca_device.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/decadriver/deca_device.c b/decadriver/deca_device.c index 03996df..1b880c4 100644 --- a/decadriver/deca_device.c +++ b/decadriver/deca_device.c @@ -155,6 +155,7 @@ #define XTRIM_ADDRESS (0x1E) uint8_t module_power; uint32_t power_temp,power_input; +uint8_t error_num; int dwt_initialise(uint16_t config) { @@ -176,8 +177,11 @@ while (DWT_DEVICE_ID != dw1000local.deviceID) // MP IC ONLY (i.e. DW1000) FOR THIS CODE { dw1000local.deviceID = dwt_readdevid() ; + error_num++; + if(error_num>100) + {break;} } - + error_num=0; _dwt_enableclocks(FORCE_SYS_XTI); // NOTE: set system clock to XTI - this is necessary to make sure the values read by _dwt_otpread are reliable dw1000local.deviceID = dwt_readdevid() ; if(module_power>36) @@ -428,6 +432,7 @@ * * returns DWT_SUCCESS for success, or DWT_ERROR for error */ + int dwt_configure(dwt_config_t *config) { uint8_t nsSfd_result = 0; @@ -435,7 +440,7 @@ uint8_t chan = config->chan ; uint32_t regval ; uint16_t reg16 = lde_replicaCoeff[config->rxCode]; - uint8_t prfIndex = dw1000local.prfIndex = config->prf - DWT_PRF_16M; + volatile uint8_t prfIndex = dw1000local.prfIndex = config->prf - DWT_PRF_16M; uint8_t bw = ((chan == 4) || (chan == 7)) ? 1 : 0 ; // Select wide or narrow band dw1000local.chan = config->chan ; @@ -2879,7 +2884,7 @@ */ void dwt_forcetrxoff(void) { - decaIrqStatus_t stat ; +// decaIrqStatus_t stat ; uint8_t temp ; uint32_t mask; @@ -3101,7 +3106,7 @@ */ void dwt_setinterrupt(uint32_t bitmask, uint8_t enable) { - decaIrqStatus_t stat ; +// decaIrqStatus_t stat ; uint32_t mask ; // Need to beware of interrupts occurring in the middle of following read modify write cycle -- Gitblit v1.9.3