本帖最后由 逍遥李 于 2016-3-31 19:51 编辑
前一篇:定时器和串口
下面就在上一篇基础上进行MPU6050加速度数据读取,读取频率200HZ,读取的数据通过串口发送到匿名四轴上位机软件,进行波形显示
1)接线,一共四根线,VCC->5V,GND->GND,SCL->PA3,SDA->PC0
2)下面就是移植MPU6050驱动了,这里参考的是正点原子的,主要文件就两个,mpu6050.c,和myiic.c,这两个文件我会附在下面,
关于匿名四轴上位机数据只需要写一个函数就可以了,因为我没有用到其他的功能,
函数贴在这里:
void Accel_Report(short Accelx,short Accely,short Accelz)
{
uint8_t len=6,i=0;
uint8_t send_buf[32];
if(len>28)return;
send_buf[len+3]=0; //УÑéÊýÖÃÁã
send_buf[0]=0X88; //Ö¡Í·
send_buf[1]=0XA1; //¹¦ÄÜ×Ö
send_buf[2]=len; //Êý¾Ý³¤¶È
send_buf[3+0]=(Accelx>>8)&0XFF;
send_buf[3+1]=Accelx&0XFF;
send_buf[3+2]=(Accely>>8)&0XFF;
send_buf[3+3]=Accely&0XFF;
send_buf[3+4]=(Accelz>>8)&0XFF;
send_buf[3+5]=Accelz&0XFF;
for(i=0;i<len+3;i++)send_buf[len+3]+=send_buf; //¼ÆËãУÑéºÍ
HAL_UART_Transmit(&huart3,send_buf,len+4,100);
}
注意:我用的版本是2.6的,其他版本数据格式可能会有所不同,上面函数是我改写的,匿名四轴上位机还是很强大的,我只用到了这一点,就这一个函数就够了
3)定时器中断函数:
4)最后上两张用匿名上位机显示的波形图:
附件:
MPU6050驱动和main.c
Src.zip
(17.59 KB)
|