使用MSP430F66736A,嵌入式编程,Code Composer 6.1.0
在我的应用程序中,我需要控制一个位于2个引脚上的继电器(P5.0- STATE1和P5.1- STATE2)。 P4.6是LED。
应该这样工作:
Led在特定时间内关闭(例如2秒),继电器应该达到STATE1, 在特定时间(例如3秒)后LED亮,继电器应切换到STATE2
该代码有什么问题? LED按照我的意愿闪烁,但继电器不工作(听不到任何滴答声)
这不是完整的代码,只是具有配置P5(继电器)的特定行
LOOP(doesnt matter)
if (P4OUT == 0x00)
{
cyklus = cyklus + t1;
P5DIR |= BIT1;
P5OUT |= BIT1;
P4OUT ^= BIT6;
TA1CCR0 += (sekunda*t1);
}
//opakovaci cas odpojenia
else
{
cyklus = cyklus + t2;
P5DIR |= BIT0;
P5OUT |= BIT0;
P4OUT = 0x00;
TA1CCR0 += (sekunda*t2);
答案 0 :(得分:0)
问题似乎与继电器的接口有关。你检查过你正在使用的继电器数据表吗?继电器是电流控制开关,MSP430控制器可能无法为继电器提供足够的驱动电流,因为继电器不会锁定(听到的声音),尽管它会使LED闪烁。 为此,您可能需要添加像BJT或MOSFET这样的开关以及更高的电压。