dw1000(3)-dw1000模块复位

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

dw1000(3)-dw1000模块复位

  2020-10-06 我要评论

 

复位方式有软件复位和硬件复位两种方式。

1.软件复位:对0x36::31-28位进行操作,流程如下

(a) Set SYSCLKS to 01
(b) Clear SOFTRESET to all zero’s
(c) Set SOFTRESET to all ones

note:软件复位并不对深度睡眠或睡眠模式的配置进行操作,如果想对其也进行复位,需手动配置AON寄存器。

可使用模块官方提供的函数void dwt_softreset(void)复位


2.硬件复位:硬件复位需对RSTn引脚进行配置

 


上图是模块上电后RSTn引脚的输出变化,要注意的是,如果不想对模块进行复位,只需将与之相连的单片机引脚配置成开漏模式(An external source should open-drain the RSTn pin once the DW1000 has been reset.),所以,要复位它,只需将该引脚先拉低,在配置成开漏输出模式。

note:RSTn should never be driven high by an external source

void reset_DW1000(void)
{
GPIO_InitTypeDef GPIO_InitStructure;


// Enable GPIO used for DW1000 reset
GPIO_InitStructure.GPIO_Pin = DW1000_RSTn;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(DW1000_RSTn_GPIO, &GPIO_InitStructure);


//drive the RSTn pin low
GPIO_ResetBits(DW1000_RSTn_GPIO, DW1000_RSTn);


//put the pin back to tri-state ... as input
GPIO_InitStructure.GPIO_Pin = DW1000_RSTn;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(DW1000_RSTn_GPIO, &GPIO_InitStructure);


    sleep_ms(2);
}


       


Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们