-
:victory:
-
1393413168@qq.com求一份
-
huo_hu 发表于 2014-7-31 21:48
你再想想
谢谢我懂了,这种技术的方法在技术到50000就中断,技术到65536时不中断只是清零,但前面的计数次数还是算的,只是中断前计数的次数不算而已,太感谢了。
-
huo_hu 发表于 2014-7-31 20:05
第一次50000
第二次50000*2%65536
第三次50000*3%65536
那这样算出来的结果这种方法不是等周期了哦?
-
huo_hu 发表于 2014-7-31 14:21
430的定时器需要CCR0的配合才能实现任意数的定时,否则只能65536分频,任意数值定时只有两通道可以用.
ccr0= ...
那这个程序的中断是在计时器计时到50000中断还是在计时到65535中断呢?
-
怎么样修改啊?
-
你的意思定时器可以计数到比65535大的值了哦?但不是说最大计数值不可以超过65535的吗?如果我想定时20秒你用定时器会怎么样写啊?谢谢。
-
#include
void P1_IODect();
void P13_Onclick();
void GPIO_init();
volatile unsigned int n,m,i=0;
unsigned const PWMperiod=15000;
void main(void)
{ WDTCTL=WDTPW+WDTHOLD;
int i=0;
i=i+1;
GPIO_init();
DCOCTL=0x00;
DCOCTL=CALDCO_1MHZ;
BCSCTL1=CALBC1_1MHZ;
TACTL=TASSEL_2+MC_1;
TACCR0=PWMperiod;
TACCTL1=OUTMOD_7;
_EINT();
LPM0;
}
void GPIO_init()
{
P1DIR|=BIT6;
P1SEL|=BIT6;
P1REN|=BIT3;
P1OUT|=BIT3;
P1DIR&=~BIT3;
P1IES|=BIT3;
P1IE|=BIT3;
}
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
P1_IODect();
P1IFG=0;
}
void P1_IODect()
{
unsigned int Push_Key=0;
Push_Key=P1IFG&(~P1DIR);
__delay_cycles(10000);
if((P1IN&Push_Key)==0)
{
switch(Push_Key)
{
case BIT3: P13_Onclick(); i++; break;
default: break;
}
}
}
void P13_Onclick()
{
if(i/2==1)
{
for(n=0;n0;m--)
{
TACCR1=m;
}
}
}
-
huixianfxt 发表于 2014-7-29 18:50
_BIS_SR(LPM0+GIE); 这一句就行了呢!开了中断,也会进入LPM0呢!
那这俩个一样吗?_bis_SR(LMP0+GIE)是可以进入中断而且进入低功耗的。_EINT()虽然可以进入中断但可以进入低功耗吗?
-
这本书哪里有的买吗?最好含有视频的。
-
huixianfxt 发表于 2014-7-28 19:21
_EINT(); _bis_SR(IMP0+GIE); 不用两次开总中断吧?IMP0为何物啊?
不是IMP0s一个写成LPM0的。那你的意思是有了_EINT()就不需要再有_BIS_SR(LPM0+GIE)了啊?
-
void WDT_init()
void main()
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT6;
P1SEL|=BIT6;
WDT_init();
_EINT();
_bis_SR(IMP0+GIE);
}
WDT_init()
{
WDTCTL=WDT_ADLY_2000;
IE1|=WDTIE;
}
#pragma vector=WDT_VECTOR
__interrupt void WDT_ISR(void)
{
}
还有我这个不知道能不能进入低功耗,因为我的进入中断是在程序运行到进入低功耗之前的。
-
void WDT_init()
void main()
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT6;
P1SEL|=BIT6;
WDT_init();
_EINT();
_bis_SR(IMP0+GIE);
}
WDT_init()
{
WDTCTL=WDT_ADLY_2000;
IE1|=WDTIE;
}
#pragma vector=WDT_VECTOR
__interrupt void WDT_ISR(void)
{
}
请问各位朋友,如果我在中断中配置定时器有没有用啊?我自己感觉没有用的,因为中断完退出后又进入中断了,根本就没有在MAIN函数中执行。
-
进入低功耗后CPU不工作了,那程序由什么来运行啊?求解
-
厉害