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条回答
Rocks
1楼-- · 2019-08-17 12:27
SI_SDN_HIGH(SI4463);
Delay_NOP(500);
SI_SDN_LOW(SI4463);
Delay_NOP(200);
SI_CSN_HIGH(SI4463);

這是我之前有在用的RESET流程 試看看吧
水晶球
2楼-- · 2019-08-17 14:39
 精彩回答 2  元偷偷看……
987695640
3楼-- · 2019-08-17 17:30
我也在用4432,用STM8驱动
水晶球
4楼-- · 2019-08-17 22:30
回复【4楼】987695640:
---------------------------------
能判断死机和重新复位吗?
abb200628
5楼-- · 2019-08-18 02:55
听说SI4432有bug,官方不推荐使用,推荐使用新版SI4463
水晶球
6楼-- · 2019-08-18 04:12
回复【6楼】abb200628:
---------------------------------
就算是新版SI4463也有死机的问题,我们要从源头把死机问题解决,不管哪个无线我们都要处理死机的问题呀,您说呢

一周热门 更多>