MiaoUI/HARDWARE/MPU6050/mpuiic.h

56 lines
1.4 KiB
C
Raw Normal View History

#ifndef __MPUIIC_H
#define __MPUIIC_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK MiniSTM32F103<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//MPU6050 IIC<49><43><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2015/4/18
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MPU_SDA_IN() {GPIOA->CRL&=0XFFF0FFFF;GPIOA->CRL|=(u32)8<<16;}
#define MPU_SDA_OUT() {GPIOA->CRL&=0XFFF0FFFF;GPIOA->CRL|=(u32)3<<16;}
//IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MPU_IIC_SCL PAout(5) //SCL
#define MPU_IIC_SDA PAout(4) //SDA
#define MPU_READ_SDA PAin(4) //<2F><><EFBFBD><EFBFBD>SDA
//IIC<49><43><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void MPU_IIC_Delay(void); //MPU IIC<49><43>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
void MPU_IIC_Init(void); //<2F><>ʼ<EFBFBD><CABC>IIC<49><43>IO<49><4F>
void MPU_IIC_Start(void); //<2F><><EFBFBD><EFBFBD>IIC<49><43>ʼ<EFBFBD>ź<EFBFBD>
void MPU_IIC_Stop(void); //<2F><><EFBFBD><EFBFBD>IICֹͣ<CDA3>ź<EFBFBD>
void MPU_IIC_Send_Byte(u8 txd); //IIC<49><43><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
u8 MPU_IIC_Read_Byte(unsigned char ack);//IIC<49><43>ȡһ<C8A1><D2BB><EFBFBD>ֽ<EFBFBD>
u8 MPU_IIC_Wait_Ack(void); //IIC<49>ȴ<EFBFBD>ACK<43>ź<EFBFBD>
void MPU_IIC_Ack(void); //IIC<49><43><EFBFBD><EFBFBD>ACK<43>ź<EFBFBD>
void MPU_IIC_NAck(void); //IIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK<43>ź<EFBFBD>
void IMPU_IC_Write_One_Byte(u8 daddr,u8 addr,u8 data);
u8 MPU_IIC_Read_One_Byte(u8 daddr,u8 addr);
#endif