Other Parts Discussed in Thread: MSP430G2553
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430G2553 工具/软件:Code Composer Studio
嗨、大家好、
我在 MSP430G2553中使用中断时遇到问题。
这是我的代码:
int main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时
器 if (CALBC1_1MHz = 0xFF || CALDCO_1MHz = 0xFF) //如果校准常数被擦除,则捕捉 CPU
{
while (1);
}
BCSCTL1 = CALBC1_1MHz; //如果校准常数被擦除。 请勿加载、陷阱 CPU!
DCOCTL = CALDCO_1MHz; //设置 DCO 步长+调制
//引脚2_6作为中断引脚
P2OUT |= BIT6; // P1.4 setzen
P2REN |= BIT6; // P1.4上拉
P2IE |= BIT6; // P1.4中断 aktivieren (Nur für diesen 引脚)
P2IES |= BIT6; // P1.4高/低边沿
P2IFG &=~BIT6; //清除 P1.4 IFG
//初始化 SPI,MCP2515,CAN 变量
MCP2515_SPI_init();
MCP2515_init();
MCP2515_CANVariable_init (&CAN_TX);
MCP2515_CANVariable_init (&CAN_Rx);
_EINT ();
while (1)
{
CAN_TX.DATA[0]=5;
CAN_TX.DATA[1]=6;
CAN_TX.COB_ID = 0x110;
MCP2515_CAN_tx0 (&CAN_TX);
}
#pragma vector=port2_vector //如果触发了中断,则将执行中断函数
__interrupt void Port_2 (void)
{MCP2515_CAN_rx0(&CAN_Rx)
; // Lese Information AUS Empyrean 锐影 RX0
__delay_cycles (delay_10ms);
MCP2515_CAN_tx0 (&CAN_Rx); // Sende das Emptfangene zurück (Echo)
P2IFG &=~BIT6; // P2.6 IFG weder Löschen
}
我想使用 CAN 控制器、当接收到消息时、一个高-低边沿应该触发中断功能并发回一个回波、但是中断功能不会被激活。
请帮帮我。
此致、
Simon