arduino

#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
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值