arduino

来源:互联网 发布:ssm框架项目源码下载 编辑:程序博客网 时间:2024/04/19 07:50
#include <avrpins.h>   #include <max3421e.h>   #include <usbhost.h>   #include <usb_ch9.h>   #include <Usb.h>   #include <usbhub.h>   #include <avr/pgmspace.h>   #include <address.h>      #include <adk.h>      #include <printhex.h>   #include <message.h>   #include <hexdump.h>   #include <parsetools.h>      //USB Usb;  //USBHub hub0(&Usb);  //USBHub hub1(&Usb);  //ADK adk(&Usb,"Guidebee Pty Ltd.",  "LedDemoKit",  "DemoKit Arduino Board",  "1.0",  "http://www.imobilebbs.com",  "0000000012345678");  uint8_t  b, b1;     #define  START_MOTOR               8   #define  STOP_MOTOR                7      #define  ERROR_INDICATOR        13      void setup();  void loop();     void init_leds()  {  pinMode(START_MOTOR, OUTPUT);  pinMode(STOP_MOTOR, OUTPUT);  digitalWrite(START_MOTOR, LOW);  digitalWrite(STOP_MOTOR, LOW);  }     void setup()  {  Serial.begin(115200);  Serial.println("\r\nADK demo start");     if (Usb.Init() == -1) {  Serial.println("OSCOKIRQ failed to assert");  while(1); //halt   }//if (Usb.Init() == -1...      init_leds();     }     void loop()  {  uint8_t rcode;  uint8_t msg[3] = { 0x00 };  Usb.Task();     if( adk.isReady() == false ) {  digitalWrite(ERROR_INDICATOR, HIGH);  return;  }else{  digitalWrite(ERROR_INDICATOR, LOW);  }  uint16_t len = sizeof(msg);  rcode = adk.RcvData(&len, msg);     if(len > 0) {  USBTRACE("\r\nData Packet.");  // assumes only one command per packet   if (msg[0] == 0x2) {  switch( msg[1] ) {  case 0:  USBTRACE("LED 1\r\n.");  if(msg[2]>128){  digitalWrite(START_MOTOR, HIGH);  } else{  digitalWrite(START_MOTOR, LOW);  }  break;  case 1:  USBTRACE("LED 2\r\n.");  if(msg[2]>128){  digitalWrite(STOP_MOTOR, HIGH);  } else{  digitalWrite(STOP_MOTOR, LOW);  }  break;  }//switch( msg[1]...   }  }//if( len > 0...      msg[0] = 0x1;  delay( 10 );  }  

0 0
原创粉丝点击