请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:HDC1080 主题中讨论的其他器件:MSP430FR4133、
工具/软件:Code Composer Studio
大家好、
我尝试通过 I2C 将 msp430fr4133与 hdc1080连接在一起。
我的代码如下所示。
当我编译此代码时、会发生 gmake 错误。
请告诉我 如何修复此错误。
此致、
Takuya
/*-版权所有-、BSD
*版权所有(c) 2014、德州仪器(TI)公司
*保留所有权利。
*
*
只要
符合以下条件*、允许以源代码和二进制形式重新分发和使用:
*
*源代码的重新分发必须保留上述版权
声明*、此条件列表和以下免责声明。
*
***二进制形式的再发行必须在
*随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
*
***未经
事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。
*
*本软件由版权所有者和贡献者"按原样"提供
*、
不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或
*贡献者都不对任何直接、间接、偶然、特殊、
*模范、 或相应的损害(包括但不限于
*采购替代产品或服务;丧失使用、数据或利润;
*或业务中断)、但出于任何责任理论
、*无论是在合同中、严格责任还是由于
使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他)
、*即使已获悉可能会发生此类损坏。
*--/版权--*/
*
* main.c
*
MSP-EXP430FR4133开箱即用演示
*主循环、初始化和中断服务例程
*
* 2014年9月
* E.Chen
*
******** /
#include "main.h"
#include "hal_lcd.h"
#define SLAVE_ADDRESS 0x40
#define RXCOUNT 0x04
//unsigned char TXData = 0x38;
volatile float res;////////////////////////////// 10.26达米安
挥发性浮点数 abt;//////////////////////////////////////////////// 10.26 Damien
unsigned char FeedbackValue[8];
uint8_t i=0、j=0;
//变量*/
static uint8_t RXData[RXCOUNT];
static volatile uint8_t xferIndex;
static volatile uint32_t humidity;
static volatile double temperature;
static volatile volatile double 露点;////////////////////////// 10.26 Damien
静态易失性 bool stopSent;
易失性无符号字符保持计数= 0;
易失性无符号字符* MODE =&BAKMEM4_L; //模式标志
// TimerA0上行模式配置参数
Timer_A_initUpModeParam initUpParam_A0 =
{
timer_A_CLOCKSOURCE_ACLK、 // SMCLK 时钟源
TIMER_A_CLOCKSOURCE_DEVIDER_1、 // ACLK/1 = 32kHz
3277、 // 100ms 去抖周期
TIMER_A_TAIE_INTERRUPT_DISABLE、 //禁用计时器中断
TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE,//启用 CCR0中断
TIMER_A_DO 清除, //清除值
true //开始计时
器};
//*
main.c
*
/ int main (void){
//_q test1、test2;
//test1 =_Q (1.2);
//test2 =_Qlog (test1);
//停止看门狗计时器
WDT_A_HOLD (_MSP430_BASEADDRESS_WDT_A__); //停止 WDT
_Q10 QA、QC;//////////////////////////////////////////////////////////////////////// 10.26达米恩
//检查是否从 LPMx.5唤醒
IF (SYSRSTIV = SYSRSTIV_LPM5WU)
{
init_gpio();
__ENABLE_INTERRUPT();
}
其他
{
//初始化
init_gpio();
init_i2C();
init_Clock();
init_rtc();
init_lcd();
GPIO_clearInterrupt (GPIO_PORT_P1、GPIO_PIN2);
*MODE = 0;
_enable_interrupt ();
displayScrollText ("HDC1080 demo");
反馈值[0]= 0xFA;
反馈值[7]= 0xFB;
}
while (1)
{
LCD_E_selectDisplayMemory (LCD_E_base、LCD_E_DISPLAYSOURCE_MEMORY);
/*确保最后一个交易已完全发送*/
while (EUSCI_B_I2C_masterIsStopSent (EUSCI_B0_BASE)=EUSCI_B_I2C_Sending _STOP);
/*发送开始和发送缓冲区的第一个字节。 我们必须发送
*两个字节、用于清理缓冲区中的任何内容
*发送*/
EUSCI_B_I2C_masterSendMultiByteStart (EUSCI_B0_BASE、0x00);
/*在发送 STOP 后启用传输中断*/
EUSCI_B_I2C_enableInterrupt (EUSCI_B0_BASE、EUSCI_B_I2C_Transmit _INTERRUPT0);
while (!stopSent)_bis_SR_register (CPUOFF + GIE);
stopSent = false;
温度=((RXData[0]<<8)+RXData[1]); //////// 10.27 Damien 顶部
温度=(温度*165/6556-40)*10;
湿度=((RXData[2]<<8)+RXData[3])&0x0000FFFF;
湿度=湿度*1000/65536;
QA =_Q10 ((浮点数)湿度/1000);
QC =_Q10log (QA);
RES =_Q10toF (QC);
ABT = 17.271*(浮点)温度/10/(237.7+(浮点)温度/10);
露点= 237.7*(res+abt)/(17.271-res-abt);
FeedbackValue[1]=((int) temperature & 0xFF00)>8;
FeedbackValue[2]=(int)温度和0xFF;
FeedbackValue[3]=(湿度和0xFF00)>>8;
FeedbackValue[4]=湿度和0xFF;
FeedbackValue[5]=((int)(露 点*10.0)和0xFF00">8;
FeedbackValue[6]=(int)(露点*10.0)和0xFF; //////// 10.27 Damien 结束
ClearLCD();
switch (*模式)
{
外壳温度模式: //温度模式
//temperature =((RXData[0]<<8)+RXData[1]);
//temperature =(temperature *165/6556-40)*10;
showChar ('T'、pos2);
LCDMEM[7]|= 0x04;
LCDBMEM[7]|= 0x04;
//把手最高显示为99.9度
如果(温度>=1)
{
if (temperature >= 100) showChar ((((uint32_t) temperature /100)%10 +"0"、pos3);
if (temperature >= 10) showChar ((((uint32_t) temperature /10)%10 +'0'、pos4);
如果(temperature >= 1) showChar ((((uint32_t) temperature /1)%10 +'0'、pos5);
}
其他
{
LCDMEM[pos1]|= 0x01;
if (temperature <=-100) showChar (((uint32_t)(400-(400+温度)))/100)%10 +"0"、pos3);
if (temperature <=-10) showChar (((uint32_t)(400-(400+温度))/10)%10 +"0"、pos4);
if (temperature <1) showChar (((uint32_t)(400-(400+temperature))/1)%10 +"0"、pos5);
}
LCDMEM[pos4+1]|= 0x01;//小数点
LCDMEM[pos5+1]|= 0x04;//度符号
showChar ('C'、pos6);
中断;
外壳湿度模式: //湿度模式
//湿度=((RXData[2]<<8)+RXData[3])&0x0000FFFF;
//湿度=湿度*1000/65536;
showChar ('H'、pos2);
LCDMEM[7]|= 0x04;
LCDBMEM[7]|= 0x04;
//处理高达99.9%的湿度
if (湿度>=999){showChar ('9'、pos3);showChar ('9'、pos4);showChar ('9'、pos5);}
如果(湿度>=100) showChar ((湿度/100)%10 +"0"、pos3);
如果(湿度>=10) showChar ((湿度/10)%10 +"0"、pos4);
如果(湿度>=1) showChar ((湿度/1)%10 +"0"、pos5);
if (湿度=0){showChar ('0'、pos4);showChar ('0'、pos5);}
LCDMEM[pos4+1]|= 0x01;//小数点
中断;
案例 Dew_mode: // Dew_mode
/*temperature =((RXData[0]<<8)+RXData[1]);
温度=(温度*165/6556-40)*10;
湿度=((RXData[2]<<8)+RXData[3])&0x0000FFFF;
湿度=湿度*1000/65536;
//QA =_Q (2.71828);QC =_Qlog (QA);res=_QTOF (QC);// 1.0 = ln (e)//// 10.26达米恩
QA =_Q12 ((浮点数)湿度/1000);
QC =_Q12log (QA);
RES =_Q12toF (QC);
ABT = 17.271*(浮点)温度/10/(237.7+(浮点)温度/10);
露点= 237.7*(res+abt)/(17.271-res-abt);*/
showChar ('D'、pos2);
LCDMEM[7]|= 0x04;
LCDBMEM[7]|= 0x04;
//把手最高显示为99.9度
如果(露点*10.0>=1)
{
如果(露点*10.0)>=100) showChar (((uint32_t)(露点*10.0)/100)%10 +"0"、pos3);
如果(露点*10.0)>=10) showChar (((uint32_t)(露点*10.0)/10)%10 +'0'、pos4);
如果(露点*10.0)>=1) showChar (((uint32_t)(露点*10.0)/1)%10 +'0'、pos5);
}
其他
{
LCDMEM[pos1]|= 0x01;
如果(露点*10.0)<=-100) showChar (((uint32_t)(400.0-(400.0+(露点*10.0)))/100)%10 +"0"、pos3);
如果(露点*10.0)<=-10) showChar (((uint32_t)(400.0-(400.0+(露点*10.0)))/10)%10 +'0'、pos4);
如果(露点*10.0)<1) showChar (((uint32_t)(400.0-(400.0+(露点*10.0)))/1)%10 +'0'、pos5);
}
LCDMEM[pos4+1]|= 0x01;//小数点
LCDMEM[pos5+1]|= 0x04;//度符号
showChar ('C'、pos6);
中断;
}
//////////////////////////////////////////////////////////////////////////////
//while (!(UCA0IFG & UCTXIFG));
// UCA0TXBUF = TXData; //将数据加载到缓冲区中
////////////////////////////////////////////////////////////////////////////////////////////
_bis_SR_register (LPM0_bits | GIE); //输入 LPM3
}
}
/*
GPIO 初始化
*/
void Init_GPIO()
{
//将所有 GPIO 引脚设置为输出低电平以防止输入悬空并降低功耗
GPIO_setOutputLowOnPin (GPIO_PORT_P1、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P2、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P3、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P4、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P5、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P6、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P7、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setOutputLowOnPin (GPIO_PORT_P8、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P1、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P2、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P3、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P4、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P5、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P6、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P7、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
GPIO_setAsOutputPin (GPIO_PORT_P8、GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
//GPIO_setAsInputPin (GPIO_PORT_P1、GPIO_PIN1);
//配置按钮 S1 (P1.2)中断
GPIO_selectInterruptEdge (GPIO_PORT_P1、GPIO_PIN2、GPIO_HIGH_TO_LOW_TRANSITION);
GPIO_setAsInputPinWithPullUpResistor (GPIO_PORT_P1、GPIO_PIN2);
GPIO_clearInterrupt (GPIO_PORT_P1、GPIO_PIN2);
GPIO_enableInterrupt (GPIO_PORT_P1、GPIO_PIN2);
//将 P4.1和 P4.2设置为辅助模块函数输入、LFXT。
GPIO_setPeripheralModuleFunctionInputPin (
GPIO_PORT_P4、
GPIO_PIN1 + GPIO_PIN2、
GPIO_PRIMARY_MODULE_FUNCTION
);
//为 I2C 配置引脚
/*
*选择端口5
*将引脚2、3设置为具有功能的输入、(UCB0SIMO/UCB0SDA、UCB0SOMI/UCB.S)。
*
GPIO_setPeripheralModuleFunctionInputPin (
GPIO_PORT_P5、
GPIO_PIN2 + GPIO_PIN3、
GPIO_PRIMARY_MODULE_FUNCTION
);
////////////////////////////////////////////////////////////////////////////////////////////
//配置 UART 引脚
P1SEL0 |= BIT0 | BIT1; //将2个 UART 引脚设置为第二个功能
//配置 UART
UCA0CTLW0 |= UCSWRST; //将 eUSCI 置于复位状态
UCA0CTLW0 |= UCSSEL_SMCLK;
//波特率计算
UCA0BR0 = 78; // 1000000/9600 = 104.16666
UCA0BR1=0;
UCA0CTLW0 &=~UCSWRST; //初始化 eUSCI
UCA0IE |= UCRXIE; //启用 USCI_A0 RX 中断
////////////////////////////////////////////////////////////////////////////////////////////////////
//禁用 GPIO 上电默认高阻抗模式
//激活先前配置的端口设置
PMM_unlockLPM5 ();
}
//
* I2C 初始化
*/
void Init_I2C ()
{
EUSCI_B_I2C_initMasterParam param ={0};
param.selectClockSource = EUSCI_B_I2C_CLOCKSOURCE_SMCLK;
param.i2cClk = CS_getSMCLK ();
param.datarate = EUSCI_B_I2C_SET_DATA_RATE_100KBPS;
param.byteCounterThreshold = 0;
param.autoSTOPGeneration =
EUSCI_B_I2C_NO_AUTO_STOP;
EUSCI_B_I2C_initMaster (EUSCI_B0_BASE、param);
UCB0BRW = 0x08;
//指定从器件地址
EUSCI_B_I2C_setSlaveAddress (EUSCI_B0_BASE、
从器件地址
);
//将主设备设置为发送模式
EUSCI_B_I2C_setMode (EUSCI_B0_BASE、
EUSCI_B_I2C_Transmit 模式
);
//启用 I2C 模块以启动操作
EUSCI_B_I2C_ENABLE (EUSCI_B0_BASE);
EUSCI_B_I2C_clearInterrupt (EUSCI_B0_BASE、
EUSCI_B_I2C_Transmit INTERRUPT0 +
EUSCI_B_I2C_Receive_INTERRUPT0 +
EUSCI_B_I2C_BYTE_COUNTER_INTERRUPT +
EUSCI_B_I2C_NAK_INTERRUPT
);
//启用主机发送中断
EUSCI_B_I2C_enableInterrupt (EUSCI_B0_BASE、
EUSCI_B_I2C_Transmit INTERRUPT0
);
}
/*
时钟系统初始化
*/
void Init_Clock()
{
//初始化 XT1晶体振荡器
CS_TurnOnXT1 (CS_XT1_DRIVE_1);
}
//
*实时时钟计数器初始化
*/
void Init_RTC ()
{
//将 RTC 模数设置为32768-1以每~250ms 触发一次中断
RTC_setModulo (RTC_BASE、3277);
RTC_enableInterrupt (RTC_BASE、RTC_overflow_interrupt);
RTC_START (RTC_BASE、RTC_CLOCKSOURCE_XT1CLK);
}
//
* Port1中断服务例程
*处理 S1按钮按压中断
*/
#pragma vector = Port1_vector
__interrupt void Port1_ISR (void)
{
P4OUT |= BIT0;//打开 LED1
switch (__evo_in_range (P1IV、P1IV_P1IFG7))
{
案例 P1IV_NONE:break;
案例 P1IV_P1IFG0:中断;
案例 P1IV_P1IFG1:中断;
案例 P1IV_P1IFG2:
//开始去抖计时器
Timer_A_initUpMode (timer_A0_BASE、&initUpParam_A0);
break;
案例 P1IV_P1IFG3:break;
案例 P1IV_P1IFG4:中断;
案例 P1IV_P1IFG5:中断;
案件 P1IV_P1IFG6:break;
案例 P1IV_P1IFG7:中断;
}
}
//*
计时器 A0中断服务例程
*用作按钮去抖计时器
*/
#pragma vector = TIMER0_A0_vector
__interrupt void TIMER0_A0_ISR (void)
{
//按下按钮 S1
如果(!(P1IN 和 BIT2))
{
P4OUT |=~BIT0;
保持计数++;
if (保持计数== 5)
{
//更改模式
如果(*模式=temperature 模式)(*模式)=Humide_mode;
否则、如果(*模式=Humidity_mode)(*模式)=Dew_mode;////////////////////////////////////////////
否则(*模式)= TEMP_MODE;
}
}
//按钮 S1已松开
否则 IF (P1IN 和 BIT2)
{
保持计数= 0;
P4OUT &=~BIT0;
Timer_A_stop (timer_A0_BASE);
}
}
//
* RTC 中断服务例程
*每~10毫秒唤醒一次以更新接收器*
/
#pragma vector = RTC_vector
__interrupt void RTC_ISR (void)
{
switch (__evo_in_range (RTCIV、RTCIV_RTCIF))
{
案例 RTCIV_NONE:break;
案例 RTCIV_RTCIF:
_BIC_SR_REGISTER_ON_EXIT (LPM3_BITS); //退出 LPM3
中断;
}
}
#if defined (__TI_Compiler_version__)|| defined (__IAR_systems_icc_)
#pragma vector=USCI_B0_vector
__interrupt
#elif defined (__GNU__)
__attribute__(interrupt (USCI_B0_vector)))#endif USCI_B0_vector __interrupt #elif define(__GRUSC0_void (__){__BICBIC0_ENTI_ENTI_SWITCH_ENTI_ENTI_ENTI_ENTI_ENTI_ENTI_
情况0x00:break; //向量0:无中断中断;
情况0x02:break; //向量2:ALIFG 中断;
情况0x04:
EUSCI_B_I2C_masterReceiveStart (EUSCI_B0_BASE);
中断; //向量4:NACKIFG 中断;
情况0x06:break; //向量6:STT IFG 中断;
情况0x08:break; //向量8:STPIFG 中断;
情况0x0a:中断; //向量10:RXIFG3中断;
情况0x0c:中断; //向量14:TXIFG3中断;
情况0x0E:中断; //向量16:RXIFG2 break;
情况0x10:中断; //向量18:TXIFG2中断;
情况0x12:中断; //向量20:RXIFG1 break;
情况0x14:中断; //向量22:TXIFG1中断;
情况0x16:
if (xferIndex = RXCOUNT - 2)
{
EUSCI_B_I2C_masterReceiveMultiByteStop (EUSCI_B0_BASE);
RXData[xferIndex+]= EUSCI_B_I2C_masterReceiveMultiByteNext (EUSCI_B0_BASE);
}
否则、if (xferIndex == RXCOUNT - 1)
{
RXData[xferIndex++]= EUSCI_B_I2C_masterReceiveMultiByteNext (EUSCI_B0_BASE);
EUSCI_B_I2C_DisableInterrupt (EUSCI_B0_BASE、EUSCI_B_I2C_Receive_INTERRUPT0);
EUSCI_B_I2C_DisableInterrupt (EUSCI_B0_BASE、EUSCI_B_I2C_NAK_INTERRUPT);
EUSCI_B_I2C_setMode (EUSCI_B0_BASE、EUSCI_B_I2C_Transmit 模式);
xferIndex = 0;
stopSent = true;
_BIC_SR_REGISTER_ON_EXIT (CPUOFF);
}
其他
{
RXData[xferIndex+]= EUSCI_B_I2C_masterReceiveMultiByteNext (EUSCI_B0_BASE);
}
中断; //向量24:RXIFG0中断;
情况0x18:
EUSCI_B_I2C_DisableInterrupt (EUSCI_B0_BASE、EUSCI_B_I2C_Transmit INTERRUPT0);
EUSCI_B_I2C_setMode (EUSCI_B0_BASE、EUSCI_B_I2C_Receive_mode);
xferIndex = 0;
EUSCI_B_I2C_masterReceiveStart (EUSCI_B0_BASE);
EUSCI_B_I2C_enableInterrupt (EUSCI_B0_BASE、EUSCI_B_I2C_Receive_INTERRUPT0);
EUSCI_B_I2C_enableInterrupt (EUSCI_B0_BASE、EUSCI_B_I2C_NAK_INTERRUPT);
中断; //向量26:TXIFG0中断;
情况0x1a:break;
情况0x1c:中断; //向量30:时钟低电平超时中断;
情况0x1E:中断; //向量32:第9位中断;
默认值:Break;
}
////////////////////////////////////////////////////////////////////////////////
#if defined (__TI_Compiler_version__)|| defined (__IAR_systems_icc_)
#pragma vector=USCI_A0_vector
__interrupt void USCI_A0_ISR (void)
#Elif defined (__GNU__)
void __attribute__(interrupt (USCI_A1_vector))#USCI_A0
Compiler #a0_aid!
#endif
{
switch (__evo_in_range (UCA0IV、USCI_UART_UCTXCPTIFG))
{
USCI_NONE 案例:中断;
USCI_UART_UCRXIFG 案例:
UCA0IFG &=~ UCRXIFG; //清除中断
if (UCA0RXBUF == 0xFF)
for (i=0;i<8;i++)
{
while (!(UCA0IFG & UCTXIFG));
UCA0TXBUF =反馈值[i];
}
_BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);//在 TI 上退出 LPM0
中断;
案例 USCI_UART_UCTXIFG:中断;
案例 USCI_UART_UCSTTIFG:中断;
案例 USCI_UART_UCTXCPTIFG:break;
}
}