这两天使用HW3181作为一款具备无线传输功能传感器的主控芯片。
应用要求每隔一段时间(约10秒)传输一次测量值。因为使用电池供电,为了降低功耗,需要在非发送期间将系统休眠。即仅在发送数据时唤醒处理器。
程序内部使用RTC作为唤醒中断源,每秒唤醒一次,计算一次时间,如果不到发送的时刻则继续休眠。
休眠期间使用32k的内部低速RC振荡器作为工作时钟源
程序调试通过后的第一次运行时,观察能够降低一定的功耗,但距离期望值还有一些距离。
本想再修改程序后再进行调试,可这时发现无论如何都不能下载程序了。报读R15寄存器错误
这个有点儿麻烦。
经过不断尝试,发现偶而是能够连接上目标处理器的。
在这个思路上,发现提高仿真器的速度(JLink)是可以提高连接成功率的。只要先把程序擦除的话,就会恢复正常值,可以再次写入程序及调试。经实际测试,速度在4M以上的话,只要多试几次就可以成功。
不过这个暂时的方案也不是完美的,需要再进一步检查究竟是哪儿导致的这个原因。