BK2461使用中所遇问题与解决方法

 

  • 问题描述:编译工程,编译信息栏出现如下信息:Program Size: data=145.1 xdata=218 code=7887 ;Target not created. ---解决方法:BK2461芯片内存大小为8K,所以代码总量不能大于8K或接近8K。应该删除无用的代码。
  •  问题描述:使用开发板测试低功耗,其他线路都断开了。工作状态下为10mA左右,进入休眠后万用表还是显示6mA左右。为什么没有进入休眠低功耗呢? ---解决方法:开发板内有下载电路,因为芯片程序跑的是外加flash,因此需要通过下载电路才能驱动芯片,因此下载电路消耗了6mA电流左右。
  • 问题描述:调试休眠唤醒时,引脚已做了初始化,还做了休眠配置,如下(P25引脚),P2_WUEN=0x10; P2_WUMOD=0x10;但还是不能唤醒。 ---解决方法:在休眠函数while循环中加入 if(!KEY1){break;};  (KEY1为P25引脚)
  • 问题描述:外设初始化(配置了看门狗)后,看门狗没有被开启。--- 解决方法:在配置看门狗之前把看门狗的外设时钟关闭了,导致配置看门狗时,看门狗不能开启。上电后看门狗只能开启或关闭一次。

  • 使用看门狗时,进入idle、sleep模式下,看门狗“不工作”;只进入idle模式,看门狗可以工作。 --- 解决方法:只进入idle模式,时钟晶振使用的还是外部16M,进入sleep模式,时钟切换为内部RC 32K时钟晶振,复位周期可能变为很久了,所以要重新设置看门狗复位周期
  • 问题描述:工程进入休眠后,按键唤醒,每次都是重启,怀疑是使用杜邦线插拔实现的高低电平,导致干扰,但又不是。----解决方法:是退出休眠后,看门狗的复位周期没有重置,需要再次重置看门狗复位周期。休眠与工作装态下,看门狗使用的时钟源不一样
  • 问题描述:开发板芯片在休眠状态下,烧录更新程序,发现运行现象没有改变。解决方法:休眠状态下更新的程序,要重新上电,才会执行更新后的程序
  • 问题描述:TX模块有4个按键,换掉了其中两个,修改的两个都做了输入初始化,但效果感觉这两个按键很迟钝,按很久才有反应。但原来的两个按键反应还是很快。解决方法:新换的两个引脚没有配置唤醒初始化(如:P2_WUEN=0xx; P2_WUMOD=0xx),要进入休眠时做唤醒初始化
  • 问题描述:查看数据手册,工作状态下时钟为16MHz(开发板使用的外围晶振也是16MHz),休眠状态下为32KHz。测试,工作状态下使用16MHz计算EX_Timer、看门狗时间都比较准确;休眠状态下使用32KHz计算EX_Timer、看门狗都不准确。解决方法:在休眠状态下,使用反推发,计算时钟频率,结果计算为:休眠状态下,时钟大概是20KHz。
  • 问题描述:做TX模块低功耗时,rf_init()函数中 该函数RF_SetupRetrans(1000, 5); 会导致非常大的电流消耗。解决方法:适当修改重传时间,重传次数可以有效降低电流消耗。
  • 问题描述:本来进入休眠后功耗是8uA,增加了一个引脚作为输出(如驱动LED),进入休眠后功耗变为了68uA。解决方法:进入休眠前,没有失能引脚。解决方法:如添加了P24引脚,这进入休眠前使用如下函数关掉引脚 GPIO_DiablePU(2, BIT(4)); GPIO_DiablePD(2, BIT(4));退出休眠后记得再次初始化引脚
  • 问题描述:接收模块做低功耗,如何做到一个频段工作1ms,休眠400ms。解决方法:关键是把空中传输速率改为2Mbps,这样发射频率就可以改到400us左右的间隔
  • 配置内部下拉输入,但配置失败,使用万用表测引脚电压还是高电平
	 /*配置内部下拉,但是配置失败*/
     GPIO_InputSetup(2, BIT(0),0,BIT(0));	/*使能内部下拉*/

     /*配置内部下拉正确方法,因为芯片默认开启了内部上拉*/
     GPIO_DiablePU(2,BIT(0));             /*使能内部下拉,需要先失能内部上拉*/
	 GPIO_InputSetup(2, BIT(0),0,BIT(0));	/*使能内部下拉*/

 

你可能感兴趣的:(单片机相关)