《线程》中讨论的其他部件: MSP430WARE, MSP-EXP430FR5994
大家好,
我想检查 MSP430FR5994板上的 I2C 从属配置。
我已经从 MSP430Ware 中获取了示例代码- v:3.80.14.01 - msp430fr599x_euscib0_i2c_11.c
我将主中继器作为 Fusion 数字工具( I2C GUI )来发送和接收数据。
但当我从 I2C GUI(MASTER)向 MSP430FR5994 (从属)发送命令时,我收到了从属的响应。
下面是 I2C 从代码。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <MSP4C.h>
易失性无符号字符 TXData;
Int main (无效)
{
WDTCTL = WDTPW | WDTHOLD;
//配置 GPIO
P7SEL0 |= BIT0 | BIT1;
P7SEL1 &=~(BIT0 | BIT1);
//禁用 GPIO 通电默认高阻抗模式以激活
//以前配置的端口设置
PM5CTL0和=~LOCKLPM5;
//为 I2C 模式配置 USCI_B2
UCB2CTLW0 = UCSWRST;//软件重置已启用
UCB2CTLW0 |= UCMODE_3 | UCSYNC;// I2C 模式,同步模式
UCB2I2COA0 = 0x48 | UCOAEN;//自己的地址为0x48 +启用
UCB2CTLW0 &=~UCSWRST;//清除重置寄存器
UCB2IE |= UCTXIE0 | UCSTPIE;//传输,停止中断启用
__bis_SR_register (LPM0_bits | GIE);//输入 LPM0,带中断
__NO_OPEENT();
}
#IF 定义(__TI_Compiler_version__)||定义(__IAR_SYSTEMS _ICC__)
#pragma vector = EUSCI_B2_vector
__中断无效 USCI_B2_ISR(void)
#Elif Defined (__GNUC _)
void __attribute__((interrupt (EUSCI_B2_Vector)) USCI_B2_ISR (void)
#else
错误编译器不受支持!
#endif
{
交换机(__evo_in_range (UCB2IV,USCI_I2C_UCBIT9IFG))
{
Case USCI_NONE:Break;// Vector 0:无中断
案例 USCI_I2C_UCALIFG:中断;//矢量2:ALIFG
案例 USCI_I2C_UCNACKIFG:中断;//矢量4:NACKIFG
案例 USCI_I2C_UCSTTIFG:中断;//矢量6:STTIFG
案例 USCI_I2C_UCSTPIFG://矢量8:STPIFG
TXData = 0;
UCB2IFG 和=~UCSTPIF;//清除停止条件标志
休息;
Case USCI_I2C_UCRXIFG3:Break;// Vector 10:RXIFG3
Case USCI_I2C_UCTXIFG3:Break;// Vector 12:TXIFG3
Case USCI_I2C_UCRXIFG2:Break;// Vector 14:RXIFG2
Case USCI_I2C_UCTXIFG2:Break;// Vector 16:TXIFG2
Case USCI_I2C_UCRXIFG1:Break;// Vector 18:RXIFG1
Case USCI_I2C_UCTXIFG1:Break;// Vector 20:TXIFG1
Case USCI_I2C_UCRXIFG0:Break;// Vector 22:RXIFG0
案例 USCI_I2C_UCTXIFG0://矢量24:TXIFG0
UCB2TXBUF = TXData++;
休息;
案例 USCI_I2C_UCBCNTIFG:中断;//矢量26:BCNTIFG
案例 USCI_I2C_UCCLTOIFG:中断;//矢量28:时钟低超时
Case USCI_I2C_UCBIT9IFG:中断;//矢量30:第9位
默认值:Break;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
这是 I2C 工具的快照,它被视为主工具,我正在对此进行攻击
。