智能车学习(十)——MMA8451加速度计的使用
一、驱动说明:
就是使用I2C的通信方式驱动这款加速度计就行了,代码的话选择使用51单片机的代码进行移植。
二、代码分享:
1、头文件:
#ifndef MMA8451_H #define MMA8451_H/***********函数声明***********/void MMA8451_Init(void); void Read_Gray(void);/*****************************//***********全局变量声明***********/ extern int delay_time;extern double Gray_X ; extern double Gray_Y ; extern double Gray_Z ;/*****************************/#endif
2、源文件:
#include "include.h" #include "common.h" #include "i2c.h" #include "MMA8451.h" #include "port.h" #include "gpio.h" #include "lptmr.h"double Gray_X ; double Gray_Y ; double Gray_Z ;//管脚定义 #define MMA_S_I2C_SDA (PTA16)//(PTB3)//(PTE0) //(PTE22)//(PTC1)// #define MMA_S_I2C_SCL (PTA14)//(PTB2)//(PTE1)//(PTE20)//(PTC0)// //IO方向设置 #define MMA_I2C_SDA_IN() DDRA16 = 0//输入模式 #define MMA_I2C_SDA_OUT() DDRA16 = 1//输出模式//IO操作函数 #define MMA_I2C_SCL PTA14_OUT //SCL #define MMA_I2C_SDA PTA16_OUT //SDA #define MMA_I2C_READ_SDA PTA16_IN //输入SDA //**********MMA8451内部寄存器地址********* #define WHO_AM_I 0x0D #define CTRL_REG1 0x2A #define CTRL_REG2 0x2B #define CTRL_REG3 0x2C #define CTRL_REG4 0x2D #define CTRL_REG5 0x2E //#define REFERENCE 0x25 //
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
