从上面的视频可以看到我用的上位机是匿名最新版本的,痛心的是匿名的前一版本的上位机不知道为什么在我的电脑上面老是出错,不能打开,搞了我半天多,后来下了新版本的就好了。 
错误如下图所示,如果有网友跟我一样的话,自己上百度找办法啊。 
 
那又办法获取姿态之后怎么像我那样子在视频那样子玩呢?因为匿名上位机是在是有很多功能,所以要掌握他的上位机还是要看下他的教程。必须要先看下如果没有接触过,不然很多设置你都不知道怎么设置。包括匿名上位机,协议的下载,他的视频里面都有说到,不要问我,我也不想上传。http://www.amobbs.com/forum.php? ... D%E5%9B%9B%E8%BD%B4 
看完了之后,你就大概可以看得懂为什么在我的过程中有这么一个函数了。我就不讲解了。我自己也是自己根据他协议写的。 
/*函数功能:根据匿名最新上位机协议写的显示姿态的程序 
*具体原理看匿名的讲解视频 
*/ 
void Data_Send_Status(float Pitch,float Roll,float Yaw,int16_t *gyro,int16_t *accel) 
{ 
        unsigned char i=0; 
        unsigned char _cnt=0,sum = 0; 
        unsigned int _temp; 
        u8 data_to_send[50]; 
 
        data_to_send[_cnt++]=0xAA; 
        data_to_send[_cnt++]=0xAA; 
        data_to_send[_cnt++]=0x01; 
        data_to_send[_cnt++]=0; 
 
        _temp = (int)(Roll*100); 
        data_to_send[_cnt++]=BYTE1(_temp); 
        data_to_send[_cnt++]=BYTE0(_temp); 
        _temp = 0-(int)(Pitch*100); 
        data_to_send[_cnt++]=BYTE1(_temp); 
        data_to_send[_cnt++]=BYTE0(_temp); 
        _temp = (int)(Yaw*100); 
        data_to_send[_cnt++]=BYTE1(_temp); 
        data_to_send[_cnt++]=BYTE0(_temp); 
 
        data_to_send[3] = _cnt-4; 
        //和校验 
        for(i=0;i<_cnt;i++) 
                sum+= data_to_send; 
        data_to_send[_cnt++]=sum; 
 
        //串口发送数据 
        for(i=0;i<_cnt;i++) 
                AnBT_Uart1_Send_Char(data_to_send); 
} 
复制代码 
姿态静止的波形: 
 
扰动的姿态波形: 
 
感谢各位的观看,我也在写教程的过程学到了很多,而且自己也把资料都整理好了。 
如果有什么解释得不好或者不对,大神们就感觉上啦,都是互相学习罢了。转载 
 
 |