MCU:msp430f449
基本定时器:0.064ms溢出一次,bt_flag++,取bt_flag的特定若干值(值1,值2,值3,4,5,6,7…….n,值n+1.)来唤醒睡眠中的mcu执行动作。main loop形式如下:
main()
{
…………….
……………
While(1)
{
入低功耗n;
等待基本定时器的bt_flag自增到特定的值,在bt_ISR中置位特定的标志位,修改SR唤醒MCU,
执行标志位为1的那个任务。
}
basic_timer_ISR()
{
bt_flag++;
switch(bt_flag)
{
case 值1 :…………….;
break;
case 值2 :…………….;
break;
问题就在这里,下面的若干个特定值的个数是不确定的,特定值的形式如下所描述:
1040 + 0 * 160
1040 + 1 * 160
1040 + 2 * 160
1040 + 3 * 160
…………………
1040 + n * 160
n的值是在case 值2对应的任务中确定的。
现在我就是不知道怎么处理这个不固定的n?
请各位大侠指点一下。或者指点一下别的思路也可以!
} |