弄了一天多的上位機,之前沒有接觸過匿名的上位機,但是聽說這個用來調mpu6050是極好的選擇,於是,找了找電腦,還真發現有v2.6版本的。它長這個樣子:設置好波特率等後,發現怎麼弄也弄不了,實在無奈,問朋友要了個4.50版本的,它長這個樣子: 看起來好看了不少。
先到程序設置那裏設置好波特率。我的波特率是115200。最重要的就是這個頁面的那個通訊協議了點擊它,會出來圖2的文檔。到這裏,算是進入真正的主題了。
首先,我們要知道這個協議是什麼樣的,匿名的博客上就有詳細介紹,這個不多多囉嗦,這是鏈接:https://blog.csdn.net/wangjt1988
下面是原子的源代碼:
void usart1_niming_report(u8 fun,u8*data,u8 len)
{
u8 send_buf[32];
u8 i;
if(len>28)return; //最多28字節數據
send_buf[len+3]=0; //校驗數置零
send_buf[0]=0X88; //幀頭
send_buf[1]=fun; //功能字
send_buf[2]=len; //數據長度
for(i=0;i<len;i++)send_buf[3+i]=data[i]; //複製數據
for(i=0;i<len+3;i++)send_buf[len+3]+=send_buf[i]; //計算校驗和
for(i=0;i<len+4;i++)usart1_send_char(send_buf[i]); //發送數據到串口1
}
//發送加速度傳感器數據和陀螺儀數據
//aacx,aacy,aacz:x,y,z三個方向上面的加速度值
//gyrox,gyroy,gyroz:x,y,z三個方向上面的陀螺儀值
void mpu6050_send_data(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz)
{
u8 tbuf[12];
tbuf[0]=(aacx>>8)&0XFF;
tbuf[1]=aacx&0XFF;
tbuf[2]=(aacy>>8)&0XFF;
tbuf[3]=aacy&0XFF;
tbuf[4]=(aacz>>8)&0XFF;
tbuf[5]=aacz&0XFF;
tbuf[6]=(gyrox>>8)&0XFF;
tbuf[7]=gyrox&0XFF;
tbuf[8]=(gyroy>>8)&0XFF;
tbuf[9]=gyroy&0XFF;
tbuf[10]=(gyroz>>8)&0XFF;
tbuf[11]=gyroz&0XFF;
usart1_niming_report(0XA1,tbuf,12);//自定義幀,0XA1
}
//通過串口1上報結算後的姿態數據給電腦
//aacx,aacy,aacz:x,y,z三個方向上面的加速度值
//gyrox,gyroy,gyroz:x,y,z三個方向上面的陀螺儀值
//roll:橫滾角.單位0.01度。 -18000 -> 18000 對應 -180.00 -> 180.00度
//pitch:俯仰角.單位 0.01度。-9000 - 9000 對應 -90.00 -> 90.00 度
//yaw:航向角.單位爲0.1度 0 -> 3600 對應 0 -> 360.0度
void usart1_report_imu(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz,short roll,short pitch,short yaw)
{
u8 tbuf[28];
u8 i;
for(i=0;i<28;i++)tbuf[i]=0;//清0
tbuf[0]=(aacx>>8)&0XFF;
tbuf[1]=aacx&0XFF;
tbuf[2]=(aacy>>8)&0XFF;
tbuf[3]=aacy&0XFF;
tbuf[4]=(aacz>>8)&0XFF;
tbuf[5]=aacz&0XFF;
tbuf[6]=(gyrox>>8)&0XFF;
tbuf[7]=gyrox&0XFF;
tbuf[8]=(gyroy>>8)&0XFF;
tbuf[9]=gyroy&0XFF;
tbuf[10]=(gyroz>>8)&0XFF;
tbuf[11]=gyroz&0XFF;
tbuf[18]=(roll>>8)&0XFF;
tbuf[19]=roll&0XFF;
tbuf[20]=(pitch>>8)&0XFF;
tbuf[21]=pitch&0XFF;
tbuf[22]=(yaw>>8)&0XFF;
tbuf[23]=yaw&0XFF;
usart1_niming_report(0XAF,tbuf,28);//飛控顯示幀,0XAF
}
這是按照2.6版本寫的協議,肯定不符合4.50版本的,我們需要改動的便是按照下面的一些東西,就可以使用更加友好的4.5版本的上位機。
知道了是怎麼樣的東西,我們就來改動一下原子的源代碼
改完之後,我們便可以使用上位機來調試我們是mpu6050了,如圖:
移動6050可以得到這樣的:
最後使用的4.5版本的鏈接在這裏:https://download.csdn.net/download/weixin_43872149/12161901