关于基于STM8S,MPU6050驱动的说明及程序

来源:本站
导读:目前正在解读《关于基于STM8S,MPU6050驱动的说明及程序》的相关信息,《关于基于STM8S,MPU6050驱动的说明及程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《关于基于STM8S,MPU6050驱动的说明及程序》的详细说明。
简介:基于STM8S,的MPU6050驱动的具体说明及源程序介绍

这个MPU6050使用的是IIC驱动的,而在具体电路图中没有使用STM8S自带的硬件IIC接口,所使用的是模拟IIC,

需要指出的是,在STM8S,IO配置的时候,SDA,对于挂SDA的IO来说,在STM8S的处理器上IO是没有真正的开漏输出功能的,

也就是将该IO配置成开漏输出的时候,IO高低电平输出实际是没有变化的,所以在IO具体输出或者读取状态的时候,必须切换IO模式,

另外需要注意的是,在配置IO的输出模式的时候,最好直接使用寄存器操作,如果使用

g_sda_output();

Handler_G_SDA_L;,也就是库函数操作的话,那么在配置成输出模式之后,并且接下来的代码立即输出高或者低的时候,

在电平的变化上会有5NS的时间开销,所以在使用STM8S,配置IO的时候,请尽量使用寄存器模式去操作!!

#ifndef __G1665_H

#define __G1665_H

#include "glib_api.h"

#define Handler_G_SDA_H (GPIOC->ODR |= GPIO_PIN_1)

#define Handler_G_SDA_L (GPIOC->ODR &=~ GPIO_PIN_1)

#define Handler_G_SCL_H (GPIOC->ODR |= GPIO_PIN_4)

#define Handler_G_SCL_L (GPIOC->ODR &=~ GPIO_PIN_4)

#define Handler_R_G_SDA (GPIOC->IDR &GPIO_PIN_1)

#define c_g_reg_pwr_mgr_1 0x6b

#define c_g_reg_smplrt 0x19

#define c_g_reg_config 0x1a

#define c_g_reg_gyro_config 0x1b

#define c_g_reg_accel_config 0x1c

#define c_g_reg_accel_xout_h0x3b

#define c_g_reg_accel_xout_l0x3c

#define c_g_reg_accel_yout_h0x3d

#define c_g_reg_accel_yout_l0x3e

#define c_g_reg_accel_zout_h0x3f

#define c_g_reg_accel_zout_l0x40

#define c_g_reg_temp_out_h0x41

#define c_g_reg_temp_out_l0x42

#define c_g_reg_xout_h 0x43

#define c_g_Reg_xout_l 0x44

#define c_g_reg_yout_h 0x45

#define c_g_reg_yout_l 0x46

#define c_g_reg_zout_h 0x47

#define c_g_Reg_zout_l 0x48

void gsensor_wirte(unsigned char reg_address,unsigned char data);

unsigned char gsensor_read(unsigned char reg_address);

void g_mpu6050_init(void);

#endif

提醒:《关于基于STM8S,MPU6050驱动的说明及程序》最后刷新时间 2024-03-14 01:09:23,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《关于基于STM8S,MPU6050驱动的说明及程序》该内容的真实性请自行鉴别。