/*****用串口助手发什么回复什么****/#include"msp430f5529.h"//ACLK=REFO=32768Hz,MCLK=SMCLK=defaultDCO/2=1048576Hz//P3.4,5——USCI_A0TXD/RXD;P9.4,5——USCI_A2TXD/RXD;P10.4,5——USCI_A3TXD/RXD;unsignedinttable[12]={1,2,3,4,5,6,7,8,9,10,11,12};unsignedintj;voidDelay(unsignedinttime){unsignedinti,k;for(i=0;i<255;i)for(k=0;k<time;k)_NOP(); }voidsend_buf(unsignedchar*ptr){while(*ptr!='\0')//C语言里字符串末尾自动加“\0”(ASCII码值为0){while(!(UCA1IFG&UCTXIFG));UCA1TXBUF=*ptr;//发送字符对应的ASCII码,12864指针可设置自动指向下一个显示地址*ptr;Delay(50);}}voidmain(void){WDTCTL=WDTPWWDTHOLD;//StopWDTP1DIR|=BIT0;P1OUT|=BIT0;P2IE|=BIT1;//设置p2.1可以中断P2IES|=BIT1;//设置p2.1为下降沿中断P2IFG&=~BIT1;//设置p2.1为0无中断请求P2REN|=BIT1;//设置p2.1为上下拉电阻使能P2OUT|=BIT1;P4SEL|=BIT4BIT5;//P5.6,7=USCI_A1TXD/RXDUCA1CTL1|=UCSWRST;//**Putstatemachineinreset**UCA1CTL1|=UCSSEL_2;//SMCLKUCA1BR0=9;//1MHz115200(seeUser'sGuide)UCA1BR1=0;//1MHz115200UCA1MCTL|=UCBRS_1UCBRF_0;//ModulationUCBRSx=1,UCBRFx=0UCA1CTL1&=~UCSWRST;//**InitializeUSCIstatemachine**UCA1IE|=UCRXIE;//EnableUSCI_A1RXinterrupt__bis_SR_register(LPM0_bitsGIE);//EnterLPM0,interruptsenabled}//EchobackRXedcharacter,confirmTXbufferisreadyfirst,发送数据之前确定发送缓存准备好#pragmavector=USCI_A1_VECTOR__interruptvoidUSCI_A1_ISR(void){switch(__even_in_range(UCA1IV,4)){case0:break;//Vector0-nointerruptcase2://Vector2-RXIFGwhile(!(UCA1IFG&UCTXIFG));//USCI_A1TXbufferready?UCTXIFG(USCITransmitInterruptFlag)switch(UCA1RXBUF){case0x00:{P1OUT^=BIT0;UCA1TXBUF=UCA1RXBUF;}break;case0x01:{UCA1TXBUF=table[j];j;if(j==12)j=0;}break;}//TX->RXedcharacterbreak;case4:break;//Vector4-TXIFGdefault:break;}}//UCTXIFG=0x02,UCA1IFG&UCTXIFG,当UCA1IFG的UCTXIFG位为1时,说明UCA1TXBUF为空,//跳出while循环循环;当UCTXIFG位为0时UCA1TXBUF不为空,停在循环。#pragmavector=PORT2_VECTOR__interruptvoidKey_interrput(){if(P2IFG&BIT1){Delay(50);if(P2IFG&BIT1){while((P2IN&BIT1)==0);//松手
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
P2IFG&=~BIT1;//清除中断标志位send_buf("2015年电子设计大赛\r\n");}}}