Si4432死机,重新复位问题。

2019-08-17 08:26发布

   我用STM32F103驱动Si4432模块,在死机的时候重新初始化模块,就是不行。我的部分程序如下:
每隔2秒检测一下模块是否处于接收状态,如果res=0x21,则模块处于接收状态,否则认为是死机状态。
  if(count==2000)
{
 count=0;
 res = SI4432_ReadReg(0x02);
 printf("res =%02x ",(unsigned short)res );
 if(res!=0x21)
 {
   flag_buffer=1;
 }  
}


在main函数中:
main()
{
 SI4432_SDN_HIGH;
   si4432_reset();             
   si4432_init();

    while(1)
     {
 

              if(flag_buffer==1)
             {
                  flag_buffer=0;
                  SI4432_SDN_HIGH;
                   si4432_reset();
                   si4432_init();
                }
        }

}


void si4432_reset(void)
{
  SI4432_SDN_HIGH;      //拉高模块停止工作
  delay_ms(10);
  SI4432_SDN_LOW;     //拉低模块开始工作
   
}


现象就是,当模块死机后,还是不能重新复位,有谁能解释吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
987695640
1楼-- · 2019-08-18 08:49
 精彩回答 2  元偷偷看……
987695640
2楼-- · 2019-08-18 08:59
楼主有没有用分集天线功能,具体怎么实现,是硬件自动吗 还是 软件控制的
silicontra521
3楼-- · 2019-08-18 14:29
国产HW3000模块代替SI4432、CC1101,已经在智能家居、安防等无线方案上完美应用超过5年。在功能性能上,比SI4432好,解决了SI4432的bug。

一周热门 更多>