mpu6050移植到stm32最小系统问题

2019-08-18 21:15发布

@原子哥我修改的寄存器,不知道有没有错,也不知道用不用修改其他的程序。
"mpuiic.h"头文件

#define MPU_SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8<<28;}
#define MPU_SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=3<<28;}

//IO2ù×÷oˉêy         
#define MPU_IIC_SCL    PBout(6)                 //SCL
#define MPU_IIC_SDA    PBout(7)                 //SDA         
#define MPU_READ_SDA   PBin(7)                 //ê&#228;è&#235;SDA

c文件
void MPU_IIC_Init(void)
{                                             
  GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//&#207;èê1&#196;üíaéèIO PORTCê±&#214;ó
               
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;         // &#182;&#203;&#191;ú&#197;&#228;&#214;&#195;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //í&#198;íìê&#228;3&#246;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO&#191;ú&#203;ù&#182;è&#206;a50MHz
  GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //&#184;ù&#190;Yéè&#182;¨2&#206;êy3&#245;ê&#188;&#187;ˉGPIO
       
  GPIO_SetBits(GPIOB,GPIO_Pin_6|GPIO_Pin_7);                                                 //PB10,PB11 ê&#228;3&#246;&#184;&#223;       


我只是想得到步数和时间,main函数如下。
int main(void)
{       
        unsigned long step_count,walk_time;
                NVIC_Configuration();          //éè&#214;&#195;NVIC&#214;D&#182;&#207;·&#214;×é2:2&#206;&#187;&#199;à&#213;&#188;ó&#197;&#207;è&#188;&#182;£&#172;2&#206;&#187;&#207;ìó|ó&#197;&#207;è&#188;&#182;         LED_Init();                             //LED&#182;&#203;&#191;ú3&#245;ê&#188;&#187;ˉ
                OLED_Init();                        //3&#245;ê&#188;&#187;ˉOLED  
                OLED_Clear()          ;
                delay_init();       
                MPU_Init();                                        //3&#245;ê&#188;&#187;ˉMPU6050       
                mpu_dmp_init();         
        while(1)
        {               
                //t=5;
                OLED_Clear();
                LED_ON;
                dmp_get_pedometer_step_count(&step_count);
                dmp_get_pedometer_walk_time(&walk_time);
                OLED_ShowNum(0,0,step_count,3,16);
                OLED_ShowNum(0,2,walk_time,7,16);

                        delay_ms(1000);

        }          
       
}

求大神解答!!!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-08-19 02:07
就该头文件和IO初始化即可。看你的代码貌似OK啊。能读到芯片ID么?
sgsxlz
2楼-- · 2019-08-19 04:52
正点原子 发表于 2017-5-16 21:35
就该头文件和IO初始化即可。看你的代码貌似OK啊。能读到芯片ID么?

不能呀!
正点原子
3楼-- · 2019-08-19 07:44
sgsxlz 发表于 2017-5-17 19:04
不能呀!

示波器看SDA,SCL波形

一周热门 更多>