欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
MPU6050 S9KEA128AMLK GPIO模擬程序 串口輸出
[打印本頁]
作者:
Xiaowen_MA
時間:
2018-7-8 20:03
標題:
MPU6050 S9KEA128AMLK GPIO模擬程序 串口輸出
S9KEA128AMLK串口輸出模擬程序
0.png
(40.19 KB, 下載次數: 59)
下載附件
2018-7-9 02:00 上傳
單片機源程序如下:
#include"MPU6050.h"
#include "soft_i2c.h"
//寄存器讀寫函數
#define MUP_WR(reg,data) soft_i2c_write_reg(MPU6050_DEV_ADDR,reg,data)
#define MUP_RD(reg) soft_i2c_read_reg(MPU6050_DEV_ADDR,reg,IIC)
#define MPU6050_DEV_ADDR 0xD0>>1 //IIC寫入時的地址字節數據,+1為讀取
//****************************************
// 定義MPU6050內部地址
//****************************************
#define SMPLRT_DIV 0x19 //陀螺儀采樣率,典型值:0x07(125Hz)
#define CONFIG 0x1A //低通濾波頻率,典型值:0x06(5Hz)
#define GYRO_CONFIG 0x1B //陀螺儀自檢及測量范圍,典型值:0x18(不自檢,2000deg/s)
#define ACCEL_CONFIG 0x1C //加速計自檢、測量范圍及高通濾波頻率,典型值:0x01(不自檢,2G,5Hz)
#define ACCEL_XOUT_H 0x3B
#define ACCEL_XOUT_L 0x3C
#define ACCEL_YOUT_H 0x3D
#define ACCEL_YOUT_L 0x3E
#define ACCEL_ZOUT_H 0x3F
#define ACCEL_ZOUT_L 0x40
#define GYRO_XOUT_H 0x43
#define GYRO_XOUT_L 0x44
#define GYRO_YOUT_H 0x45
#define GYRO_YOUT_L 0x46
#define GYRO_ZOUT_H 0x47
#define GYRO_ZOUT_L 0x48
#define PWR_MGMT_1 0x6B //電源管理,典型值:0x00(正常啟用)
#define WHO_AM_I 0x75 //IIC地址寄存器(默認數值0x68,只讀)
#define SlaveAddress 0xD0 //IIC寫入時的地址字節數據,+1為讀取
int16 mpu_gyro_x,mpu_gyro_y,mpu_gyro_z;
int16 mpu_acc_x,mpu_acc_y,mpu_acc_z;
void main_test(void)
{
InitMPU6050();
//在線調試查看mpu_gyro_x mpu_gyro_y mpu_gyro_z mpu_acc_x mpu_acc_y mpu_acc_z三個變量即可
for(;;)
{
//采集MPU6050數據
Get_Gyro();
Get_AccData();
printf("mpu_gyro_x=%d\n",mpu_gyro_x);
printf("mpu_gyro_y=%d\n",mpu_gyro_y);
printf("mpu_gyro_z=%d\n\n",mpu_gyro_z);
printf("mpu_acc_x=%d\n",mpu_acc_x);
printf("mpu_acc_y=%d\n",mpu_acc_y);
printf("mpu_acc_z=%d\n\n",mpu_acc_z);
systick_delay_ms(30);//延時30ms
}
}
//**************************************
//初始化MPU6050
//**************************************
void InitMPU6050(void)
{
soft_i2c_init();
MUP_WR(PWR_MGMT_1, 0x00); //解除休眠狀態
MUP_WR(SMPLRT_DIV, 0x07);
MUP_WR(CONFIG, 0x06);
MUP_WR(GYRO_CONFIG, 0x18);
MUP_WR(ACCEL_CONFIG, 0x10);
}
//-------------------------------------------------------------------------------------------------------------------
// @brief 獲取MPU6050加速度計數據
// @param NULL
// @return void
// @since v1.0
// Sample usage: 執行該函數后,直接查看對應的變量即可
//-------------------------------------------------------------------------------------------------------------------
void Get_AccData(void)
{
uint8 dat[6];
soft_i2c_read_regs(MPU6050_DEV_ADDR, ACCEL_XOUT_H, dat, 6, IIC);
mpu_acc_x = (int16)(((uint16)dat[0]<<8 | dat[1]));
mpu_acc_y = (int16)(((uint16)dat[2]<<8 | dat[3]));
mpu_acc_z = (int16)(((uint16)dat[4]<<8 | dat[5]));
}
//-------------------------------------------------------------------------------------------------------------------
// @brief 獲取MPU6050陀螺儀數據
// @param NULL
// @return void
// @since v1.0
// Sample usage: 執行該函數后,直接查看對應的變量即可
//-------------------------------------------------------------------------------------------------------------------
void Get_Gyro(void)
{
uint8 dat[6];
soft_i2c_read_regs(MPU6050_DEV_ADDR, GYRO_XOUT_H, dat, 6, IIC);
mpu_gyro_x = (int16)(((uint16)dat[0]<<8 | dat[1]));
mpu_gyro_y = (int16)(((uint16)dat[2]<<8 | dat[3]));
mpu_gyro_z = (int16)(((uint16)dat[4]<<8 | dat[5]));
}
復制代碼
所有資料51hei提供下載:
KEA_MPU6050_App.rar
(4.72 KB, 下載次數: 20)
2018-7-8 20:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1