標(biāo)題:
msp430單片機(jī)控制ESP8266代碼(iar平臺(tái))
[打印本頁(yè)]
作者:
untreat
時(shí)間:
2018-11-2 21:20
標(biāo)題:
msp430單片機(jī)控制ESP8266代碼(iar平臺(tái))
控制ESP8266的代碼
#include <msp430.h>
unsigned char a1[]="AT+CIPMUX=1";
unsigned char a2[]="AT+CIPSERVER=1,8080";
unsigned int r[3]={0};
unsigned char x='0';
unsigned int m,n,b=0,p=0,o=0;
void Port_Mapping(void);
void USCI_A0_putchar(char i) //發(fā)送一個(gè)字符
{
UCA0TXBUF = i;
while(!(UCA0IFG & UCTXIFG)); //等待該字節(jié)發(fā)送完畢
}
void sendString(unsigned char *p) //發(fā)送字符串
{
short t;int i,j;
while(*p !='\0')
{
UCA0TXBUF=*p++;
t=5;while(t--);
while(!(UCA0IFG & UCTXIFG));
}
t=5;
while(t--);//us_delay 5us
USCI_A0_putchar('\r');
t=5;
while(t--);//us_delay 5us
USCI_A0_putchar('\n');
for(i=5000;i>0;i--)
for(j=110;j>0;j--);//ms_delay 5000ms
}
void delay()
{
for(m=0;m<5000;m++)
{
for(n=0;n<30;n++);
}
}
char USIC_A0_getchar() //接收一個(gè)字符
{
return(UCA0RXBUF); //返回接收值
}
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P2SEL = BIT0+BIT1; //引腳配置
P9DIR |= BIT0;
P9OUT &= ~BIT0;
while(BAKCTL & LOCKBAK) // Unlock XT1 pins for operation
BAKCTL &= ~(LOCKBAK);
UCSCTL6 &= ~(XT1OFF); // XT1 On
UCSCTL6 |= XCAP_3; // Internal load cap // Loop until XT1 fault flag is cleared
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
Port_Mapping();
UCA0CTL1 |= UCSWRST; // **Put state machine in reset**
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 9; // 1MHz 115200 (see User's Guide)
UCA0BR1 = 0; // 1MHz 115200
UCA0MCTL |= UCBRS_1 + UCBRF_0; // Modulation UCBRSx=1, UCBRFx=0
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt
delay();delay();delay();delay();delay();
sendString(a1);
delay();
sendString(a2);
_EINT();
while(1);
}
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break; // Vector 0 - no interrupt
case 2:
x=USIC_A0_getchar();
if(x==1) P9OUT |= BIT0;
break;
case 4: break;
default: break;
}
}
void Port_Mapping(void)
{
// Disable Interrupts before altering Port Mapping registers
__disable_interrupt();
// Enable Write-access to modify port mapping registers
PMAPPWD = 0x02D52;
#ifdef PORT_MAP_RECFG
// Allow reconfiguration during runtime
PMAPCTL = PMAPRECFG;
#endif
P2MAP0 = PM_UCA0TXD;
P2MAP1 = PM_UCA0RXD;
// Disable Write-Access to modify port mapping registers
PMAPPWD = 0;
#ifdef PORT_MAP_EINT
__enable_interrupt(); // Re-enable all interrupts
#endif
}
復(fù)制代碼
全部資料51hei下載地址:
ESP8266.rar
(334.34 KB, 下載次數(shù): 32)
2018-11-2 21:20 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1