找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3836|回复: 0
打印 上一主题 下一主题
收起左侧

msp430单片机控制ESP8266代码(iar平台)

[复制链接]
跳转到指定楼层
楼主
ID:262176 发表于 2018-11-2 21:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
控制ESP8266的代码
  1. #include <msp430.h>
  2. unsigned char a1[]="AT+CIPMUX=1";
  3. unsigned char a2[]="AT+CIPSERVER=1,8080";
  4. unsigned int r[3]={0};
  5. unsigned char x='0';
  6. unsigned int m,n,b=0,p=0,o=0;
  7. void Port_Mapping(void);
  8. void USCI_A0_putchar(char i)            //发送一个字符
  9. {
  10.     UCA0TXBUF = i;
  11.         while(!(UCA0IFG & UCTXIFG));    //等待该字节发送完毕
  12. }
  13. void sendString(unsigned char *p)       //发送字符串
  14. {
  15.    short t;int i,j;
  16.    while(*p !='\0')
  17.    {
  18.         UCA0TXBUF=*p++;
  19.         t=5;while(t--);
  20.         while(!(UCA0IFG & UCTXIFG));
  21.    }
  22.           t=5;
  23.           while(t--);//us_delay 5us
  24.           USCI_A0_putchar('\r');
  25.           t=5;
  26.           while(t--);//us_delay 5us
  27.           USCI_A0_putchar('\n');
  28.           for(i=5000;i>0;i--)
  29.                   for(j=110;j>0;j--);//ms_delay 5000ms
  30. }
  31. void delay()
  32. {
  33.   for(m=0;m<5000;m++)
  34.   {
  35.     for(n=0;n<30;n++);
  36.   }
  37. }
  38. char USIC_A0_getchar()                  //接收一个字符
  39. {
  40.          return(UCA0RXBUF);              //返回接收值
  41. }
  42. int main(void)
  43. {
  44.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  45.   P2SEL = BIT0+BIT1;                                                  //引脚配置
  46.   P9DIR |= BIT0;
  47.   P9OUT &= ~BIT0;
  48.   while(BAKCTL & LOCKBAK)                    // Unlock XT1 pins for operation
  49.   BAKCTL &= ~(LOCKBAK);
  50.   UCSCTL6 &= ~(XT1OFF);                     // XT1 On
  51.   UCSCTL6 |= XCAP_3;                        // Internal load cap // Loop until XT1 fault flag is cleared
  52.   do
  53.   {
  54.     UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);  // Clear XT2,XT1,DCO fault flags
  55.     SFRIFG1 &= ~OFIFG;                      // Clear fault flags
  56.   }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag
  57.   Port_Mapping();
  58.   UCA0CTL1 |= UCSWRST;                      // **Put state machine in reset**
  59.   UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  60.   UCA0BR0 = 9;                              // 1MHz 115200 (see User's Guide)
  61.   UCA0BR1 = 0;                              // 1MHz 115200
  62.   UCA0MCTL |= UCBRS_1 + UCBRF_0;            // Modulation UCBRSx=1, UCBRFx=0
  63.   UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  64.   UCA0IE |= UCRXIE;                         // Enable USCI_A0 RX interrupt
  65.   delay();delay();delay();delay();delay();
  66.   sendString(a1);
  67.   delay();
  68.   sendString(a2);
  69.   _EINT();
  70.   while(1);
  71. }
  72. #pragma vector=USCI_A0_VECTOR
  73. __interrupt void USCI_A0_ISR(void)
  74. {
  75.   switch(__even_in_range(UCA0IV,4))
  76.   {
  77.   case 0:break;                             // Vector 0 - no interrupt
  78.   case 2:
  79.           x=USIC_A0_getchar();
  80.           if(x==1) P9OUT |= BIT0;
  81.           break;
  82.   case 4: break;
  83.   default: break;
  84.   }
  85. }
  86. void Port_Mapping(void)
  87. {
  88.   // Disable Interrupts before altering Port Mapping registers
  89.   __disable_interrupt();     
  90.   // Enable Write-access to modify port mapping registers
  91.   PMAPPWD = 0x02D52;                        
  92.   
  93.   #ifdef PORT_MAP_RECFG                    
  94.   // Allow reconfiguration during runtime
  95.   PMAPCTL = PMAPRECFG;                     
  96.   #endif  
  97.   
  98.   P2MAP0 = PM_UCA0TXD;
  99.   P2MAP1 = PM_UCA0RXD;

  100.   // Disable Write-Access to modify port mapping registers
  101.   PMAPPWD = 0;                              
  102.   #ifdef PORT_MAP_EINT
  103.   __enable_interrupt();                     // Re-enable all interrupts
  104.   #endif  
  105. }
复制代码

全部资料51hei下载地址:
ESP8266.rar (334.34 KB, 下载次数: 32)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表