找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1652|回復(fù): 1
收起左側(cè)

用stm32讀取mpu6050

[復(fù)制鏈接]
ID:335302 發(fā)表于 2018-11-22 16:47 | 顯示全部樓層 |閱讀模式
在這里粘貼main.c的程序,想發(fā)完整的文件  但是目前不太會(huì)  等我摸索好后 繼續(xù)上傳

#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); //上電時(shí)等待其他器件就緒
        RCC_Configuration(); //系統(tǒng)時(shí)鐘初始化
        RELAY_Init();//繼電器初始化
        USART1_Init(115200); //串口初始化(參數(shù)是波特率)
        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); //延時(shí)(決定刷新速度)
         }
}
}


【變量定義】
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); //延時(shí)1微秒
delay_ms(1); //延時(shí)1毫秒
delay_s(1); //延時(shí)1秒

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

*/


回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-11-22 20:32 | 顯示全部樓層
不要這樣發(fā) 看教程吧:http://www.torrancerestoration.com/bbs/dpj-49501-1.html
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表