我希望通过Android应用程序控制我的移动机器人 我使用LEGO NXT和nxtOSEK平台http://lejos-osek.sourceforge.net/ecrobot_c_api.htm。如果我发送命令0x06 0x00 0x80 0x03 0x0B 0x02 0xF4 0x01,我的机器人会发出“嘟嘟”声。如果我发送0x01 0x02 0x03,则bt_receive_buf [0],bt_receive_buf [1],bt_receive_buf [2]中的值仍然等于零。我必须发送命令才能在bt_receive_buf中接收号码?
提前谢谢你,对不起我的英语。
#include "kernel.h"
#include "kernel_id.h"
#include "ecrobot_interface.h"
#include "robot.h"
static U8 bt_receive_buf[32];
/* ECRobot hooks */
void ecrobot_device_initialize()
{
ecrobot_init_bt_slave("LEJOS-OSEK");
}
void ecrobot_device_terminate()
{
ecrobot_term_bt_connection();
}
DeclareCounter(SysTimerCnt);
void user_1ms_isr_type2(void)
{
(void)SignalCounter(SysTimerCnt);
}
TASK(TASK1)//4ms
{
ecrobot_read_bt_packet(bt_receive_buf, 32);
TerminateTask();
}
TASK(TASK2)//sonar 50ms, datalog 10ms
{
TerminateTask();
}
TASK(TASK3)
{
TerminateTask();
}
//zadanie w tle - obsługa wyswietlacza
TASK(OSEK_Task_Background)
{
while(1)
{
display_goto_xy(0, 1);
display_int((int)bt_receive_buf[0] ,4);
display_goto_xy(0, 2);
display_int((int)bt_receive_buf[1], 4);
display_goto_xy(0, 3);
display_int((int)bt_receive_buf[2], 4);
display_goto_xy(0, 4);
display_int((int)bt_receive_buf[3] ,4);
display_goto_xy(0, 5);
display_int((int)bt_receive_buf[4], 4);
display_goto_xy(0, 6);
display_int((int)bt_receive_buf[5] ,4);
display_update();
}
}