This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430G2553:MSP430G2553

Guru**** 2535150 points
Other Parts Discussed in Thread: MSP430G2553

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/577914/msp430g2553-msp430g2553

部件号:MSP430G2553

您好!

我正在尝试将两个超音速传感器连接到msp430g2553以捕获两个不同的距离

但两个传感器的距离都是一样的,即使有一个传感器在工作,请帮我这方面的忙。

这是我的代码

#include <MSP40.0>
volatile unsigned int sensor1_counter =0;
volatile unsigned int sensor1_dist_cm =0;
volatile unsigned int sensor2_counter =0;
//static sensor2_dist_cm =0;
//static unsigned int sensor3_counter;
//static unsigned int sensor3_dist_cm;

#pragma vector=Timer1_A0_vector
__interrupt void TimerA0 (void)
{
	IF (TA1CCTL0 & CCI)			//提升边缘
	{
		sensor1_counter = TA1CCR0;//		将计数器复制到变量
	}
	else						//下降边缘
	{//
		公式:距离以cm为单位=(TCusec)/58 sensor1_TA1CCRdist_TA1=
		
	

	~1;
	~TA1= 			//清除中断标志-已处理
}

#pragma vector=Timer1_A1_vector
__interrupt void Timera1(void)
{
	IF (TA1CCTL1 & CCI)			//提升边缘
	{
		sensor2_counter = TA1CCR1;//		复制计数器到变量
	}
	else						//下降边缘
	{//
		公式:距离cm =(usec中的时间)/58cm
		sensordist=}/r1_sensordist_1_2
	

	TA1CCTL1 &=~CCIFG;
	TA1CTL &=~TAIFG;
}

int main(void){
WDTCTL = WDTPW | WDTHOLD;	//停止看门狗计时器
/*将WFP 1.4 设置为输出方向(触发器)*/
P1DIR || BIT4 + BIT5;
P1OUT &=~BIT4 +~BIT5;


P2DIR &=~BITS0 +~BIIT2;
	P2SEL |= BITS0 + BIIT2;
	P2SEL2 &=~BITS0 +~BIIT2;

	TA1CCTL0 = CM_3 + SCS + CCIS_0 + CAP + CCIE;//WFP 2.0
	TA1CCTL1 = CM_3 + SCS + CCIS_1 2.2 ;CCCIE
	+ CCIS_3 //WFP 2.4 (CCIS_0)
	TA1CTL = tassel_2 + MC_2 + ID_0;

//全局中断启用
	_BIS_SR(GIE);

	while (1){

		P1OUT ^= BIT4 + BIT5;				//断言
		__DELAY _CYCLES (10);			// 10us Wide
		P1OUT ^= BIT4 + BIT5;				//断言
		__DELAY _CYCLES (6万);		// 60ms measurement
	}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    是否确定控制器识别了来自传感器的信号?
    您能否使用示波器测量两个输入引脚上的信号?
    两个信号之间的时间差是多少?

    此致
    Lukas
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Lukas,
    实际上,我没有看到Scope上的输出,而是使用了CCS调试器,如下图所示。 我将中断点放在中断例程上,可能是问题所在。我现在没有范围! 但我将在实际硬件(LCD)中进行测试
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。