找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1341|回复: 1
打印 上一主题 下一主题
收起左侧

用stm32读取mpu6050

[复制链接]
跳转到指定楼层
楼主
ID:335302 发表于 2018-11-22 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在这里粘贴main.c的程序,想发完整的文件  但是目前不太会  等我摸索好后 继续上传

#include "stm32f10x.h" //STM32头文件
#include "sys.h"
#include "delay.h"
#include "relay.h"
#include "oled0561.h"

#include "MPU6050.h"


#include "usart.h"


int main (void){//主程序
        u8 a;
        //初始化程序
         
        
        u16 t[6]={0};
        delay_ms(500); //上电时等待其他器件就绪
        RCC_Configuration(); //系统时钟初始化
        RELAY_Init();//继电器初始化
        USART1_Init(115200); //串口初始化(参数是波特率)
        I2C_Configuration();//I2C初始化

        

        OLED0561_Init(); //OLED初始化
        OLED_DISPLAY_8x16_BUFFER(0,(u8 *)"  MPU6050 TEST  "); //显示字符串
        OLED_DISPLAY_8x16_BUFFER(2,(u8 *)"X:       X:     "); //显示字符串
        OLED_DISPLAY_8x16_BUFFER(4,(u8 *)"Y:       Y:     "); //显示字符串
        OLED_DISPLAY_8x16_BUFFER(6,(u8 *)"Z:       Z:     "); //显示字符串

        MPU6050_Init(); //MPU6050初始化

        while(1){
                MPU6050_READ(t);        //加速度
                //其中t[0~2]是加速度ACCEL,t[3~5]是陀螺仪GYRO
                OLED_DISPLAY_8x16(2,2*8,t[0]/10000 +0x30);//显示
                OLED_DISPLAY_8x16(2,3*8,t[0]%10000/1000 +0x30);//显示
                OLED_DISPLAY_8x16(2,4*8,t[0]%1000/100 +0x30);//
                OLED_DISPLAY_8x16(2,5*8,t[0]%100/10 +0x30);//
                OLED_DISPLAY_8x16(2,6*8,t[0]%10 +0x30);//
                OLED_DISPLAY_8x16(2,11*8,t[3]/10000 +0x30);//显示
                OLED_DISPLAY_8x16(2,12*8,t[3]%10000/1000 +0x30);//显示
                OLED_DISPLAY_8x16(2,13*8,t[3]%1000/100 +0x30);//
                OLED_DISPLAY_8x16(2,14*8,t[3]%100/10 +0x30);//
                OLED_DISPLAY_8x16(2,15*8,t[3]%10 +0x30);//


                OLED_DISPLAY_8x16(4,2*8,t[1]/10000 +0x30);//显示
                OLED_DISPLAY_8x16(4,3*8,t[1]%10000/1000 +0x30);//显示
                OLED_DISPLAY_8x16(4,4*8,t[1]%1000/100 +0x30);//
                OLED_DISPLAY_8x16(4,5*8,t[1]%100/10 +0x30);//
                OLED_DISPLAY_8x16(4,6*8,t[1]%10 +0x30);//
                OLED_DISPLAY_8x16(4,11*8,t[4]/10000 +0x30);//显示
                OLED_DISPLAY_8x16(4,12*8,t[4]%10000/1000 +0x30);//显示
                OLED_DISPLAY_8x16(4,13*8,t[4]%1000/100 +0x30);//
                OLED_DISPLAY_8x16(4,14*8,t[4]%100/10 +0x30);//
                OLED_DISPLAY_8x16(4,15*8,t[4]%10 +0x30);//


        

                OLED_DISPLAY_8x16(6,2*8,t[2]/10000 +0x30);//显示
                OLED_DISPLAY_8x16(6,3*8,t[2]%10000/1000 +0x30);//显示
                OLED_DISPLAY_8x16(6,4*8,t[2]%1000/100 +0x30);//
                OLED_DISPLAY_8x16(6,5*8,t[2]%100/10 +0x30);//
                OLED_DISPLAY_8x16(6,6*8,t[2]%10 +0x30);//
                OLED_DISPLAY_8x16(6,11*8,t[5]/10000 +0x30);//显示
                OLED_DISPLAY_8x16(6,12*8,t[5]%10000/1000 +0x30);//显示
                OLED_DISPLAY_8x16(6,13*8,t[5]%1000/100 +0x30);//
                OLED_DISPLAY_8x16(6,14*8,t[5]%100/10 +0x30);//
                OLED_DISPLAY_8x16(6,15*8,t[5]%10 +0x30);//

for(a=0;a<6;a++)
    { printf("%d////", t[a]);


                delay_ms(200); //延时(决定刷新速度)
         }
}
}


【变量定义】
u32     a; //定义32位无符号变量a
u16     a; //定义16位无符号变量a
u8     a; //定义8位无符号变量a
vu32     a; //定义易变的32位无符号变量a
vu16     a; //定义易变的 16位无符号变量a
vu8     a; //定义易变的 8位无符号变量a
uc32     a; //定义只读的32位无符号变量a
uc16     a; //定义只读 的16位无符号变量a
uc8     a; //定义只读 的8位无符号变量a

#define ONE  1   //宏定义

delay_us(1); //延时1微秒
delay_ms(1); //延时1毫秒
delay_s(1); //延时1秒

GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED控制

*/


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-11-22 20:32 | 只看该作者
不要这样发 看教程吧:http://www.51hei.com/bbs/dpj-49501-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表