初级会员

- 积分
- 113
- 金钱
- 113
- 注册时间
- 2022-6-7
- 在线时间
- 17 小时
|

楼主 |
发表于 2022-7-28 20:33:31
|
显示全部楼层
为什么会吞我代码?我以为第一次是我误删;这是接在上面的代码- TA0CTL |= MC_2 + TASSEL_2 + TACLR; //计数 SMCLK 清计数
- TA0CCTL1 |= CM_1 + CAP + SCS + CCIE + CCIS_0;//上升沿捕获 捕获模式 同步模式 使能中断 CCI0A
- P1OUT |= BIT4;
- __delay_cycles(200);
- P1OUT &= ~BIT4;
- while((TA0CCTL1 & CCIFG) ==0); //等待上升沿
- TA0CTL &= ~MC_3; //清除MC_的两位,否则 CM_1 | CM_2 = CM_3
- TA0CTL |= MC_2 + TACLR; //连续计数 清除TA的计数值
- TA0CCTL1 &= ~CCIFG; //清中断标志
- TA0CCTL1 |= CM_2; //下降沿捕捉
- while((TA0CCTL1 & CCIFG) ==0); //等待下降沿
- capV = TA0CCR1; //得到计数器的值
- distance = 1.619e-2 * capV ;//计算距离
- TA0CCTL1 &= ~CCIFG; //清中断标志
- return distance;
- }
复制代码 |
|