zoukankan      html  css  js  c++  java
  • 通过串口(蓝牙WiFi)与Arduino通信

    char BTCOM;                           //定义串口接收的参数值
    int ledpin = A0;                      //定义LED在A2引脚
    unsigned char Uart_i = 0;
    unsigned char Uartbuffer[5];          //定义一个储存指令的数组
    
    /*                 FF 00 00 00 FF  关灯
      Uartbuffer[X] x= 0  1  2  3  4
                       FF 00 01 00 FF  开灯
    */
    
    void Analysis_uartdata()              //定义一个串口指令解析函数
    {
      switch (Uartbuffer[1])              //Uartbuffer[1]为表达式,如果与case的值相等则执行case下的代码
      {
        case 0x00:
          if (Uartbuffer[2] == 0x00)      //判断Uartbuffer[2]是否为00
          {
            digitalWrite(ledpin, LOW);    //置低电平,关闭LED灯
            Serial.println("Turn Off The Led");
          }
          else if (Uartbuffer[2] == 0x01) //判断Uartbuffer[2]是否为01
          {
            digitalWrite(ledpin, HIGH);   //置高电平,打开LED灯
            Serial.println("Turn On The Led");
          }
          break;
        default:
          {
            Serial.println("Input Error!");
          }
      }
    }
    void serialport()
    {
      if (Serial.available() > 0)                   //判断串口缓冲器是否有数据装入
      {
        Uartbuffer[Uart_i++] = Serial.read();       //读取串口,暂存数据
        if (Uart_i == 5)                            //去除包头包尾,获取到中间数据为3个字节,说明此命令格式正确
        {
          Serial.println("Correct format");
          Uart_i = 0;
          if ((Uartbuffer[0] == 0xFF) & (Uartbuffer[4] == 0xFF))  //判断包头包尾是否满足
          {
            Serial.println("open Analysis_uartdata");
            Analysis_uartdata();                                   //执行指令解析函数
          }
        }
      }
    }
    
    //初始化
    void setup()
    {
      pinMode(ledpin, OUTPUT);            //设置LED引脚为输出模式
      digitalWrite(A0, LOW);              //设置A0引脚初始电压为低电平
      Serial.begin(9600);                 //开启串行通信接口并设置通信波特率为9600
    }
    
    //主函数
    void loop()
    {
      serialport();                          //调用serialport函数
    }
  • 相关阅读:
    SRM 551 div2
    HDU_4390 Number Sequence (容斥原理)
    HDU 多校联合第五场
    HDU 多校联合第六场
    POJ 2057 The Lost House (经典树形dp)
    Lucas定理
    HDU 4385 Moving Bricks (状态dp+贪心)
    HDU 多校联合第三场
    当最短路变成二维 _!
    POJ 1848 (一道不错的树形dp)
  • 原文地址:https://www.cnblogs.com/cxstudy/p/12586257.html
Copyright © 2011-2022 走看看