2019-03-24 10:14发布
Aragorn 发表于 2015-5-15 16:50 方波是用什么产生的?定时器还是PWM,还是其他方法?判断上升延的目的是什么?
qiushenghua 发表于 2015-5-15 17:07 if(P2IN&BIT0)do_something(); 完全可以将P2IN作为if语句的判断源,但是没办法将上升沿作为触发。 话说你既然是输出,那么什么时候输出高电平你自己不知道吗? 直接在输出高电平的时候顺便做了需要做的事情不旧得了? 如果是类似于自动PWM输出,也可以通过定时器中断的方式来实现对上升沿的判断呀 除非,你输出的是TTL电平,并且是OC的,存在被外部信号拉低的可能,需要等待外部信号释放电平那种,那么直接开启外部中断就可以了。
最多设置5个标签!
P2DIR |= BIT0+BIT1; // P2.0 and P2.1 output
P2SEL |= BIT0+BIT1; // P2.0 and P2.1 options select
UCSCTL5 = DIVA_3;
TA1CCR0 = 64736;//128*10; // PWM Period/2
TA1CCTL1 = OUTMOD_2; // CCR1 toggle/set 75%
TA1CCR1 = 16184;//32*10; // CCR1 PWM duty cycle
TA1CCTL2 = OUTMOD_6; // CCR2 toggle/set 25%
TA1CCR2 = 48552;//96*10; // CCR2 PWM duty cycle
TA1CTL = TASSEL_1 + MC_3+ TACLR; // ACLK, up-down mode
这个是方波的程序,我仿照的例程。我是用两个方波进行红光跟红外的轮流输出,需要判断红光时的峰峰值和红外的峰峰值来计算血氧的Q值
2.0口是输出,也可以用P2IN&BIT0这个语句吗?已经有一个AD采样的中断了,我不会中断的嵌套。直接在输出高电平的时候顺便做了需要做的事情是什么意思啊,不太明白。我需要在2.0口的上升沿做一件事,然后2.1的上升沿做另一件事。。。2.0跟2.1是输出两个轮流的方波。
一周热门 更多>