求助 MSP430中for语句一个循环的时间是多久

2019-03-24 10:34发布

是主时钟的时间吗?
贴一下代码
#pragma vector=PORT1_VECTOR
__interrupt void Port_1 (void)
{
  for(p=40960;p>0;p--)//红灯常亮
    P2OUT=0x6F;
  P1IFG=0X00;
}
意思就是按一下按键开始倒数10秒,然后一个LED亮10秒 MCLK已选择32.768K  实际烧写到板子上无论怎么更换P的值 都是12秒左右 我考虑可能是机器时间并不是我所想的主时钟时间,求大神解答!! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
zbnzbnzbnz
1楼-- · 2019-03-24 16:26
 精彩回答 2  元偷偷看……
sint27
2楼-- · 2019-03-24 19:08
< :TI_MSP430_内容页_SA7 --> 不要在中断服务程序里搞长延时
zbnzbnzbnz
3楼-- · 2019-03-24 21:17
sint27 发表于 2015-1-15 08:17
不要在中断服务程序里搞长延时

额 那如果我想实现按键中断服务里有定时功能怎么实现 求教 求教 思路阻塞了


littleshrimp
4楼-- · 2019-03-24 22:50
 精彩回答 2  元偷偷看……
zbnzbnzbnz
5楼-- · 2019-03-25 03:16
littleshrimp 发表于 2015-1-15 08:29
建议使用定时器延时

哇塞 我开始没想到 但是还有一个问题 先前我已经在主函数中使用了TimerA 再写一个函数调用timerA的话寄存器不会冲突吗?那这样的话是不是意味着我要调用TimerB啊



sint27
6楼-- · 2019-03-25 06:48
zbnzbnzbnz 发表于 2015-1-15 08:27
额 那如果我想实现按键中断服务里有定时功能怎么实现 求教 求教 思路阻塞了

在按键中断里置flag为高,在定时器中断里if(flag)
{
    cunt++
    if(cunt>time)
   {
         flag=0;
        count=0;
        以及可能要处理的其他数值
   }
}

思路如上,细节请自己处理



一周热门 更多>

相关问题

    相关文章