极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12529|回复: 2

串口输入控制

[复制链接]
发表于 2015-9-5 22:05:36 | 显示全部楼层 |阅读模式
串口一个计数输出。串口一个计数输入

现在输出没问题。。串口输入不到arduino里边led没有变化


int incomingByte =  0;
int ledpin = 8; //定义数字接口13
int j=0;//初使化加数变量
int addKey =4;//定义按键为第4引脚
int buttonState = 0; //初使化按键暂存值,为了和addKey类型保持一致用int;
unsigned char showNumber[100][8] ={
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x01},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x02},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x03},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x04},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x05},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x06},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x07},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x08},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x09},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x0F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x10},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x11},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x12},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x13},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x14},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x15},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x16},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x17},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x18},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x19},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x1F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x20},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x21},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x22},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x23},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x24},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x25},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x26},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x27},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x28},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x29},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x2F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x30},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x31},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x32},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x33},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x34},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x35},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x36},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x37},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x38},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x39},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x3F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x40},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x41},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x42},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x43},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x44},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x45},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x46},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x47},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x48},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x49},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x4F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x50},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x51},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x52},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x53},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x54},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x55},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x56},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x57},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x58},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x59},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5A},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5B},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5D},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5E},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x5F},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x60},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x61},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x62},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x63},
{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x64}};
//{0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x65},
unsigned char HEXHEX0[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x00};
unsigned char HEXHEX1[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x01};
unsigned char HEXHEX2[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x02};
unsigned char HEXHEX3[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x03};
unsigned char HEXHEX4[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x04};
unsigned char HEXHEX5[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x05};
unsigned char HEXHEX6[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x06};
unsigned char HEXHEX7[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x07};
unsigned char HEXHEX8[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x08};
unsigned char HEXHEX9[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x09};
unsigned char HEXHEX10[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00,0x00, 0x01,0x00, 0x0A};
int x = 0;
int CheckSum0 = 0;
int CheckSum1 = 0;
int CheckSum2 = 0;
int CheckSum3 = 0;
int CheckSum4 = 0;
int CheckSum5 = 0;
int CheckSum6 = 0;
int CheckSum7 = 0;
int CheckSum8 = 0;
int CheckSum9 = 0;
int CheckSum10 = 0;
void setup()
{
  Serial.begin(9600);
  pinMode(ledpin, OUTPUT);
// Serial.flush();//初使化串口
pinMode(addKey,INPUT);//初使化物理按键输入
}

void loop()
{
  if (Serial.available() > 0)
  {
    incomingByte = Serial.read();
    Serial.print(incomingByte, HEX);
    if (HEXHEX0[x] == incomingByte){CheckSum0++;}
    if (HEXHEX1[x] == incomingByte){CheckSum1++;}
    if (HEXHEX2[x] == incomingByte){CheckSum2++;}
    if (HEXHEX3[x] == incomingByte){CheckSum3++;}
    if (HEXHEX4[x] == incomingByte){CheckSum4++;}
    if (HEXHEX5[x] == incomingByte){CheckSum5++;}
    if (HEXHEX6[x] == incomingByte){CheckSum6++;}
    if (HEXHEX7[x] == incomingByte){CheckSum7++;}
    if (HEXHEX8[x] == incomingByte){CheckSum8++;}
    if (HEXHEX9[x] == incomingByte){CheckSum9++;}
    if (HEXHEX10[x] == incomingByte){CheckSum10++;}
    x++;
    if (x == 9) {
      if (CheckSum0 == 9) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
      }
      if (CheckSum1 == 9) {
        digitalWrite(ledpin, LOW); //熄灭数字13 口LED
        delay(500);
      }
        if (CheckSum2 == 9) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
      }
      if (CheckSum3 == 9) {
        digitalWrite(ledpin, LOW); //熄灭数字13 口LED
        delay(500);
      }
        if (CheckSum4 == 9) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
      }
      if (CheckSum5 == 9) {
        digitalWrite(ledpin, LOW); //熄灭数字13 口LED
        delay(500);
      }
        if (CheckSum6 == 9) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
      }
      if (CheckSum7 == 9) {
        digitalWrite(ledpin, LOW); //熄灭数字13 口LED
        delay(500);
      }
        if (CheckSum8 == 9) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
      }
      if (CheckSum9 == 9) {
        digitalWrite(ledpin, LOW); //熄灭数字13 口LED
        delay(500);
      }
        if (CheckSum10 == 9) {
        digitalWrite(ledpin, HIGH); //点亮数字13 口LED。
        delay(500);
      }
      x = 0;
      CheckSum0 = 0;
      CheckSum1 = 0;
       CheckSum2 = 0;
      CheckSum3 = 0;
       CheckSum4 = 0;
      CheckSum5 = 0;
       CheckSum6 = 0;
      CheckSum7 = 0;
       CheckSum8 = 0;
      CheckSum9 = 0;
       CheckSum10 = 0;
    }
  }
   buttonState = digitalRead(addKey);//将第4脚的电平赋予按键变量
  if (buttonState == LOW)
  {     
   delay(10);
    if (buttonState == LOW)//机械式延时去抖
    j++;//按键后变量加1;
    while(!digitalRead(addKey));//等待松开按键结束,按键弹起算一次有效值
    }
     switch(j)
{
case 1:
Serial.write(&showNumber[0][0],8);
break;
case 2:
Serial.write(&showNumber[1][0],8);
break;
case 3:
Serial.write(&showNumber[2][0],8);
break;
case 4:
Serial.write(&showNumber[3][0],8);
break;
case 5:
Serial.write(&showNumber[4][0],8);
break;
case 6:
Serial.write(&showNumber[5][0],8);
break;
case 7:
Serial.write(&showNumber[6][0],8);
break;
case 8:
Serial.write(&showNumber[7][0],8);
break;
case 9:
Serial.write(&showNumber[8][0],8);
break;
case 10:
Serial.write(&showNumber[9][0],8);
break;
case 11:
Serial.write(&showNumber[10][0],8);
break;
case 12:
Serial.write(&showNumber[11][0],8);
break;
case 13:
Serial.write(&showNumber[12][0],8);
break;
case 14:
Serial.write(&showNumber[13][0],8);
break;
case 15:
Serial.write(&showNumber[14][0],8);
break;
case 16:
Serial.write(&showNumber[15][0],8);
break;
case 17:
Serial.write(&showNumber[16][0],8);
break;
case 18:
Serial.write(&showNumber[17][0],8);
break;
case 19:
Serial.write(&showNumber[18][0],8);
break;
case 20:
Serial.write(&showNumber[19][0],8);
break;
case 21:
Serial.write(&showNumber[20][0],8);
break;
case 22:
Serial.write(&showNumber[21][0],8);
break;
case 23:
Serial.write(&showNumber[22][0],8);
break;
case 24:
Serial.write(&showNumber[23][0],8);
break;
case 25:
Serial.write(&showNumber[24][0],8);
break;
case 26:
Serial.write(&showNumber[25][0],8);
break;
case 27:
Serial.write(&showNumber[26][0],8);
break;
case 28:
Serial.write(&showNumber[27][0],8);
break;
case 29:
Serial.write(&showNumber[28][0],8);
break;
case 30:
Serial.write(&showNumber[29][0],8);
break;
case 31:
Serial.write(&showNumber[30][0],8);
break;
case 32:
Serial.write(&showNumber[31][0],8);
break;
case 33:
Serial.write(&showNumber[32][0],8);
break;
case 34:
Serial.write(&showNumber[33][0],8);
break;
case 35:
Serial.write(&showNumber[34][0],8);
break;
case 36:
Serial.write(&showNumber[35][0],8);
break;
case 37:
Serial.write(&showNumber[36][0],8);
break;
case 38:
Serial.write(&showNumber[37][0],8);
break;
case 39:
Serial.write(&showNumber[38][0],8);
break;
case 40:
Serial.write(&showNumber[39][0],8);
break;
case 41:
Serial.write(&showNumber[40][0],8);
break;
case 42:
Serial.write(&showNumber[41][0],8);
break;
case 43:
Serial.write(&showNumber[42][0],8);
break;
case 44:
Serial.write(&showNumber[43][0],8);
break;
case 45:
Serial.write(&showNumber[44][0],8);
break;
case 46:
Serial.write(&showNumber[45][0],8);
break;
case 47:
Serial.write(&showNumber[46][0],8);
break;
case 48:
Serial.write(&showNumber[47][0],8);
break;
case 49:
Serial.write(&showNumber[48][0],8);
break;
case 50:
Serial.write(&showNumber[49][0],8);
break;
case 51:
Serial.write(&showNumber[50][0],8);
break;
case 52:
Serial.write(&showNumber[51][0],8);
break;
case 53:
Serial.write(&showNumber[52][0],8);
break;
case 54:
Serial.write(&showNumber[53][0],8);
break;
case 55:
Serial.write(&showNumber[54][0],8);
break;
case 56:
Serial.write(&showNumber[55][0],8);
break;
case 57:
Serial.write(&showNumber[56][0],8);
break;
case 58:
Serial.write(&showNumber[57][0],8);
break;
case 59:
Serial.write(&showNumber[58][0],8);
break;
case 60:
Serial.write(&showNumber[59][0],8);
break;
case 61:
Serial.write(&showNumber[60][0],8);
break;
case 62:
Serial.write(&showNumber[61][0],8);
break;
case 63:
Serial.write(&showNumber[62][0],8);
break;
case 64:
Serial.write(&showNumber[63][0],8);
break;
case 65:
Serial.write(&showNumber[64][0],8);
break;
case 66:
Serial.write(&showNumber[65][0],8);
break;
case 67:
Serial.write(&showNumber[66][0],8);
break;
case 68:
Serial.write(&showNumber[67][0],8);
break;
case 69:
Serial.write(&showNumber[68][0],8);
break;
case 70:
Serial.write(&showNumber[69][0],8);
break;
case 71:
Serial.write(&showNumber[70][0],8);
break;
case 72:
Serial.write(&showNumber[71][0],8);
break;
case 73:
Serial.write(&showNumber[72][0],8);
break;
case 74:
Serial.write(&showNumber[73][0],8);
break;
case 75:
Serial.write(&showNumber[74][0],8);
break;
case 76:
Serial.write(&showNumber[75][0],8);
break;
case 77:
Serial.write(&showNumber[76][0],8);
break;
case 78:
Serial.write(&showNumber[77][0],8);
break;
case 79:
Serial.write(&showNumber[78][0],8);
break;
case 80:
Serial.write(&showNumber[79][0],8);
case 81:
break;
Serial.write(&showNumber[80][0],8);
break;
case 82:
Serial.write(&showNumber[81][0],8);
break;
case 83:
Serial.write(&showNumber[82][0],8);
break;
case 84:
Serial.write(&showNumber[83][0],8);
break;
case 85:
Serial.write(&showNumber[84][0],8);
break;
case 86:
Serial.write(&showNumber[85][0],8);
break;
case 87:
Serial.write(&showNumber[86][0],8);
break;
case 88:
Serial.write(&showNumber[87][0],8);
break;
case 89:
Serial.write(&showNumber[88][0],8);
break;
case 90:
Serial.write(&showNumber[89][0],8);
case 91:
break;
Serial.write(&showNumber[90][0],8);
break;
case 92:
Serial.write(&showNumber[91][0],8);
break;
case 93:
Serial.write(&showNumber[92][0],8);
break;
case 94:
Serial.write(&showNumber[93][0],8);
break;
case 95:
Serial.write(&showNumber[94][0],8);
break;
case 96:
Serial.write(&showNumber[95][0],8);
break;
case 97:
Serial.write(&showNumber[96][0],8);
break;
case 98:
Serial.write(&showNumber[97][0],8);
break;
case 99:
Serial.write(&showNumber[98][0],8);
break;
case 100:
Serial.write(&showNumber[99][0],8);
j=0;
break;
default:
break;
}
}
回复

使用道具 举报

发表于 2015-9-6 13:23:15 | 显示全部楼层
请问,你的ID忘记密码了么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-6 21:57:39 | 显示全部楼层
liuxue4503 发表于 2015-9-6 13:23
请问,你的ID忘记密码了么?

是的。忘了用QQ老是登不上。所以又申请了个
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 09:07 , Processed in 0.043657 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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