主题中讨论的其他器件:MSP430G2553
大家好、
感谢您查看我的问题。 我有一个 launchpad 套件、并希望使用视觉基本程序与其交互。 我制作了一个 VB 程序、显示系统上的当前端口、并显示端口规格。 如下所示:

我将 MSP430G2553连接到 launchpad 并运行以下代码:
/----------------- 代码-------------------------------------------------------
int main (空)
{
//------ 关闭 WDT -------------------------------------------------------
WDTCTL = WDTPW + WDTHOLD;//停止看门狗
//------ 检查时钟校准并将时钟设置为1MHz ---
if (CALBC1_1MHz=0xFF)//检查校准常数是否被擦除
{
while (1);//不要加载程序
}
DCOCTL = 0;//选择最低 DCO 设置
BCSCTL1 = CALBC1_1MHz;//将 DCO 设置为1MHz
DCOCTL = CALDCO_1MHz;
//---- 引脚设置-------------------------------------------------------
P1SEL = BIT1 + BIT2;//在 P1.1、P1.2上选择 UART RX/TX 功能
P1SEL2 = BIT1 + BIT2;
//P1OUT&=~(BIT0|BIT3|BIT4|BIT5|BIT6|BIT7);//将输出变为低电平。
P2OUT&=~0xFF;//将输出变为低电平
P3OUT&=~0xFF;//将输出变为低电平
// P1DIR|= BIT0|BIT3|BIT4|BIT5|BIT6|BIT1;//将端口1的其余部分转换为输出。
P2DIR|=0xFF;//将所有端口2转换为输出
P3DIR|=0xFF;//将所有端口3转换为输出
UCA0CTL1 |= UCSSEL_2+ UCSWRST;// UART 时钟-> SMCLK,并置于复位状态
UCA0BR0 = 104;//波特率设置为1MHz 9600
UCA0BR1 = 0;//波特率设置为1MHz 9600
UCA0MCTL = UCBRS_1;//针对1MHz 9600的调制设置
UCA0STAT |= UCLISTEN;
UCA0CTL1 &=~UCSWRST;//初始化 UART 模块
IE2 |= UCA0RXIE;//启用 RX 中断
P2OUT|= 0xFF;
while (1){
_bis_SR_register (LPM0_bits + GIE);//输入 LPM0、启用中断
}
}
#pragma vector=USCIAB0RX_vector // UART RX 中断向量
_interrupt void USCI0RX_ISR (void)
{
while (!(IFG2&UCA0TXIFG));//检查 TX 是否正在进行
//UCA0TXBUF = UCA0RXBUF + 1;// TX ->接收到的字符+ 1
unsigned char temp;
IFG2 &=~UCA0RXIFG;//清除 RX 标志
字符 x;
温度= UCA0RXBUF;
x =(char) temp;
if (x = 0x41){
P2OUT|=0xFF;
}
if (x = 0x42){
P2OUT&=~0xFF;
}
}
/----------------- 结束代码------------------------------------------------------- >
可以看到、UC 正在等待"A"或"B"字符、并将输出翻转为 ON 表示 A、或 OFF 表示"B"。 我遇到的问题是 MSP430从未看到 Visual Basic 发送的信号。
有人可以帮帮我吗?