急!用MSP430定时中断实现P2.0=1,P2.1=0当P2.1为1时,P1.0接LED取反,总是不行!判断P2.1语句if该怎写

急!用MSP430定时中断实现P2.0=1,P2.1=0当P2.1为1时,P1.0接LED取反,总是不行!判断P2.1语句if该怎写,第1张

虽然程序很简短,但问题还真多!

1 最严重的问题,请不要在中断程序用使用外部延时函数,很危险也不效率,失去了定时器本身的作用。

2 在表示I/O端口某位的时候,最好用BIT0BIT7。

3 判断P21是否为1应该写成 if ((key & BIT1) != 0)。

4 CCR0不是计数器,是PWM或者捕获用的,只需要设置一次就行了。建议用TIME溢出中断,并每次更新TA0R和手动清除中断标志位。

__bis_SR_register(LPM0_bits + GIE); //置位SR寄存器,LPM0_bits是低功耗模式中的一种,CPU休息,具体可以查手册;GIE是打开全局中断使能

__no_operation(); //进行一个时钟周期的无 *** 作,一般调试可以把断点打在这

这个主要是用在低功耗上,cpu不需要工作时就打到休眠,打开中断使能,等待中断产生进入中断重新工作,这样减少芯片耗电量,一般装电池的要仔细研究这个。直接电源供电的可以无视这几句,不用写

可以用 两个中断控制位来实现 一个上升沿中断 一个下降沿有效 同时赋给他 ECHO,在中断中控制 定时器使能 TAR寄存器中的值就是你要的数值 但是是有范围的 最大 0xffff。。。

以上就是关于急!用MSP430定时中断实现P2.0=1,P2.1=0当P2.1为1时,P1.0接LED取反,总是不行!判断P2.1语句if该怎写全部的内容,包括:急!用MSP430定时中断实现P2.0=1,P2.1=0当P2.1为1时,P1.0接LED取反,总是不行!判断P2.1语句if该怎写、msp430的AD转换程序中断问题“__bis_SR_register(LPM0_bits + GIE); __no_operation(); ”、MSP430定时器A计数,然后给外部中断停止,主程序读出计数为多少等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9295239.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存