| 
 | 
 
按照例程 配置好模块和硬件以后,模块就运行起来了,读ID 自检什么的都通过了。但是DECAIRQ中断 不触发。标签端是一直在发的。 
手动把IRQ引脚拉高进行读操作 可以读到数据,但是数据不是标签发送的数据。 
希望路过的大佬 指导一下,或者提供一个排查的思路。 
 
如下是对模块的配置。 
- static dwt_config_t config = {
 
 -     2,               /* Channel number. */
 
 -     DWT_PRF_64M,     /* Pulse repetition frequency. */
 
 -    DWT_PLEN_128,   /* Preamble length. Used in TX only. */
 
 -    DWT_PAC8,       /* Preamble acquisition chunk size. Used in RX only. */
 
 -     5,//5,               /* TX preamble code. Used in TX only. */
 
 -     5,//5,               /* RX preamble code. Used in RX only. */
 
 -     0,               /* 0 to use standard SFD, 1 to use non-standard SFD. */
 
 -     DWT_BR_6M8,     /* Data rate. */
 
 -     DWT_PHRMODE_STD, /* PHY header mode. */
 
 -     (129 + 8 - 8)  /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
 
 - };
 
  复制代码- void APP_UWB_SoftInit(void)
 
 - {
 
 -     port_DisableEXT_IRQ();
 
 -     reset_DW1000();
 
  
- //    spi_set_rate_low();
 
 -     while(dwt_initialise(DWT_LOADUCODE)== DWT_ERROR)
 
 -     {
 
 -         rt_pin_write(LED_GREEN, PIN_LOW);
 
 -         rt_thread_mdelay(500);
 
 -     }
 
 - //    spi_set_rate_high();
 
 -     /* Configure DW1000. See NOTE 7 below. */
 
 -     dwt_configure(&config);
 
 -     dwt_setinterrupt(DWT_INT_RFCG | (DWT_INT_ARFE | DWT_INT_RFSL | DWT_INT_SFDT | DWT_INT_RPHE | DWT_INT_RFCE |DWT_INT_RFTO | DWT_INT_RXPTO), 1);
 
 -     dwt_setrxantennadelay(RX_ANT_DLY);
 
 -     dwt_settxantennadelay(TX_ANT_DLY);
 
 -     dwt_setpreambledetecttimeout(PRE_TIMEOUT);
 
 -     dwt_configuresleep(DWT_PRESRV_SLEEP |DWT_CONFIG,DWT_WAKE_CS|DWT_SLP_EN);
 
 -     dwt_setrxtimeout(0);
 
 -     dwt_rxenable(DWT_START_RX_IMMEDIATE);
 
 -     uwb_states = UWB_READY;
 
 -     port_EnableEXT_IRQ();
 
 - }
 
  复制代码 
 
 
 
 |   
 
 
 
 |