疑问如题,现在自己的应用中,需要使用内部开门狗做一个小延时来降低一部分功耗,代码简要如下:
void msSleep (u16 value)
{
u16 count = value / WDT_GRANULARITY;
count = (count == 0) ? 1 : count;
EnableWDT(WDT_ENABLE);
while (count--)
{
mPWRMGNT_GotoSleepMode();
}
EnableWDT(WDT_DISABLE);
}
但发现在不同的IC中,调用该函数后,定时的时间各不相同,排查后,判断是内部LPRC精度原因造成。
请问PIC单片机有对该振荡器校准的方法吗? |