工具/软件:Code Composer Studio
我正在使用 msp430g2553控制器、当我的工作设备停止发送 UART 数据时、 即使没有恢复外部中断、但在一个下电上电后、它开始工作!!
如果有人遇到类似的问题,请帮我解决。
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.
工具/软件:Code Composer Studio
我正在使用 msp430g2553控制器、当我的工作设备停止发送 UART 数据时、 即使没有恢复外部中断、但在一个下电上电后、它开始工作!!
如果有人遇到类似的问题,请帮我解决。
感谢 Ryan、
msp430g2553正在使用 16MHz 频率与 SoC (TI DM814X) UART 通信。 和115200波特率、在我的应力测试中、当我在中断引脚上提供 extern 中断时、我看到了一段时间。
我的 MSP Hang (非常罕见)。 但它是发生的。
代码:
#pragma vector=port2_vector
_interrupt void Port_2 (void)
{
IF (P2IFG 和 BIT5)
{
P2IFG &=~BIT4; // P2.5 IFG 被清除
P2IE &=~BIT4; //禁用 P2.5中断
}
}
TA1CCTL0 = CCIE; //启用计时器 ISR 以处理此事件
TA1CCR0 = Timer1_DURAY_10m;
TA1CTL = tassel_2 + ID_3 + MC_1 + TACLR;
}
//在我的 Timer1 ISR 中
#pragma vector=Timer1_A0_vector
_interrupt void Timer_A1 (void)
{
IF (P2IES 和 BIT5)
{
如果(!(PORT5和 BIT5))
{
P2IES ^=(BIT5); //现在我们需要更改 IES 位来检测相反事件。
P2IE |= BIT5; // P2.5中断被启用
}
其他
P2IE |= BIT5; // P2.5中断被启用
}
//如果检测到0,即“低”->“高”
否则(!(P2IES 和 BIT5))
{
IF (IGNDET_PORT 和 IGNDET_PIN)
{
P2IES ^=(BIT5); //现在我们需要更改 IES 位来检测相反事件。
P2IE |= BIT5; // P2.5中断被启用
}
其他
P2IE |= BIT5; // P2.5中断被启用
}
TA1CCTL0 &=~CCIE; //中断被禁用
TA1CTL = tassel_2 + ID_3+ MC_0 + TACLR; // SMCLK、上行模式、清除 TAR
}