试验如下: 设置prescaler产生1S的秒中断,并在中断中toggle LD7 于是,RTC的counter就每秒一次的开始往上计数;
设置alarm=5,则当counter的值等于5时,产生报警中断,并在中断中toggle LD6。
如果不做进一步处理,counter就会0,1,2,3,4,5,6,7,这样的计数下去,直到0xffffffff才产生溢出中断。于是,在秒中断里处理:如果counter计数值等于6时,就set counter为0;让counter又从0开始计数;于是再等5秒,又会触发报警中断。
reset或者电池供电的况下,给板子断电,再跑。可以从LD6和LD7的闪烁情况看出来,PRL和ALR的值都还是保持第一次设置好的值。
该测试跑在万历EK-STM32F103ZET6上。 |