MMKC
Thành Viên PIF
Em muốn giao tiếp HC SR 04 ( cảm biến siêu âm ) lấy kết quả bằng cách đo xung dùng Capture nhưng không hiểu sao code em hình như chỉ lấy xung đc. đúng 1 lần, còn các lần còn lại không chịu capture nữa.
Em capture raising edge.
Em dùng Timer1_a1
Trig - P2.0
Echo - P2.1 ( TA1.1)
Em capture raising edge.
Em dùng Timer1_a1
Trig - P2.0
Echo - P2.1 ( TA1.1)
Code:
#include "msp430g2553.h"
#include "Basic_config.h"
unsigned int newcap;
void Config_init()
{
P2DIR &=~BIT1;
P2SEL |=BIT1;
P2SEL2 &=~BIT1;
P2DIR |=BIT0;
TA1CCTL1 |=CM_3 + CCIS_0 + SCS + CAP+CCIE;
TA1CTL = TASSEL_2 + MC_2 + ID_3;
WDTCTL = WDTPW + WDTHOLD;
}
void main()
{
Config_init();
while (1){
P2OUT &= ~BIT0;
delay_us(2);
P2OUT |=BIT0;
delay_us(10);
P2OUT &= ~BIT0;
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}}
#pragma vector = TIMER1_A1_VECTOR
__interrupt void Timer1_A1 (void)
{
TA1CCTL1 &= ~CCIFG;
newcap = TA1CCR1;
}