工具/软件:Code Composer Studio
您好!
这是我的代码、在中断主程序中的下一个进程后、我的代码不是 running..in
突出显示的部件未运行 PLZ 解决此问题...
#include
#include "lcd.h"
void TX_string (char * s);
int e、flag;
字符 Q[15];
void main (void)
{
WDTCTL = WDTPW + WDTHOLD;//停止看门狗
lcdini();
DCOCTL = 0;//选择最低 DCO 设置
BCSCTL1 = CALBC1_1MHz;//将 DCO 设置为1MHz
DCOCTL = CALDCO_1MHz;
P1SEL = BIT1 + BIT2;//在 P1.1、P1.2上选择 UART RX/TX 功能
P1SEL2 = BIT1 + BIT2;
UCA0CTL1 |= UCSSEL_2;// UART 时钟-> SMCLK
UCA0BR0 = 104;//波特率设置为1MHz 9600
UCA0BR1 = 0;//波特率设置为1MHz 9600
UCA0MCTL = UCBRS_1;//针对1MHz 9600的调制设置
UCA0CTL1 &=~UCSWRST;//初始化 UART 模块
while (1)
{
IE2 |= UCA0RXIE;//启用 RX 中断
_bis_SR_register (LPM0_bits + GIE);//输入 LPM0、启用中断
tx_string ("在 if"之前);
if (flag==1)
{
TX_STRING ("内部 while ");
flag=0;
}
}
}
#pragma vector=USCIAB0RX_vector // UART RX 中断向量
_interrupt void USCI0RX_ISR (void)
{
if (flag==0)
{
flag=1;
while (e<9)
{
while (!(IFG2 & UCA0RXIFG));
Q[e]= UCA0RXBUF;
q[e+1]='\0';
e++;
}
E=0;
}
}
void TX_string (char * s)
{
while (* s!='\0')
{
while (!(IFG2 & UCA0TXIFG));
UCA0TXBUF =*s;
S++;
}
}