智能车学习(十)——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
//


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部