OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11110|回复: 28

MPU6000 SPI 调了好多天了 就是读不出数据啊...

[复制链接]

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
发表于 2014-5-3 17:59:28 | 显示全部楼层 |阅读模式
[mw_shl_code=c,true]#ifndef MPU6000_H_ #define MPU6000_H_ #include"sys.h" //**************************************** // ?¨??MPU6050???????· //**************************************** #define MPUREG_AUX_VDDIO 0x01 #define SMPLRT_DIV 0x19 //?????????ù????????????0x07(125Hz) #define CONFIG 0x1A //???¨???¨??????????????0x06(5Hz) #define GYRO_CONFIG 0x1B //??????×??ì?°????·??§??????????0x18(??×??ì??2000deg/s) #define ACCEL_CONFIG 0x1C //??????×??ì??????·??§?°???¨???¨??????????????0x01(??×??ì??2G??5Hz) #define INT_ENABLE 0x38 //???????? #define ACCEL_XOUT_H 0x3B //???????? x?á?????? ??8?? #define ACCEL_XOUT_L 0x3C //???????? x?á?????? ??8?? #define ACCEL_YOUT_H 0x3D //???????? y?á?????? ??8?? #define ACCEL_YOUT_L 0x3E //???????? y?á?????? ??8?? #define ACCEL_ZOUT_H 0x3F //???????? z?á?????? ??8?? #define ACCEL_ZOUT_L 0x40 //???????? z?á?????? ??8?? #define TEMP_OUT_H 0x41 //???? ??8?? #define TEMP_OUT_L 0x42 //???? ??8?? #define GYRO_XOUT_H 0x43 //?????? x?á?????? ??8?? #define GYRO_XOUT_L 0x44 //?????? x?á?????? ??8?? #define GYRO_YOUT_H 0x45 //?????? y?á?????? ??8?? #define GYRO_YOUT_L 0x46 //?????? y?á?????? ??8?? #define GYRO_ZOUT_H 0x47 //?????? z?á?????? ??8?? #define GYRO_ZOUT_L 0x48 //?????? z?á?????? ??8?? #define WHO_AM_I 0x75 //IIC???·?????÷(????????0x68??????) #define SlaveAddress 0xD0 //IIC?????±?????·×?????????+1?????? #define MPU_Address 0x68 //?÷?????· #define USER_CONTROL 0x6A //0x10 I2C_IF_DIS ENABLE #define PWR_MGMT_1 0x6B //???????í??????????0x00(????????) #define SPI_MPU6000_CS PBout(12) //????MPU6000 //???????????????????????????????????? extern double angle_m,gyro_m; extern double measure[6]; extern s16 Original_measure[6]; //?????????????? void SPI_MPU6000_Init(void);//?????? void MPU6000_Init(void);//?????? u8 SPI_Write_Reg(u8 address,u8 data); void GetData(void); [/mw_shl_code]
[mw_shl_code=c,true]
[mw_shl_code=c,true]//SPI_BaudRatePrescaler_2 2·??? //SPI_BaudRatePrescaler_8 8·??? //SPI_BaudRatePrescaler_16 16·??? //SPI_BaudRatePrescaler_256 256·??? void SPI2_Init(u8 SPI_BaudRatePrescaler) { GPIO_InitTypeDef GPIO_InitStruct; SPI_InitTypeDef SPI_InitStruct; // RCC_APB2PeriphResetCmd(RCC_APB2Periph_AFIO,ENABLE);//?????±?? RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIOB?±?????? RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2,ENABLE);//SPI2?±?????? //GPIOB.13/14/15???? GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;//???????ì???? GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_15; GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStruct); GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;//???????? GPIO_InitStruct.GPIO_Pin=GPIO_Pin_14; GPIO_Init(GPIOB,&GPIO_InitStruct); // GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//GPIOB.13/14/15???? //SPI2?????? SPI_InitStruct.SPI_Direction=SPI_Direction_2Lines_FullDuplex;//?????¤ SPI_InitStruct.SPI_Mode=SPI_Mode_Master;//?÷SPI SPI_InitStruct.SPI_DataSize=SPI_DataSize_8b;//8?????á?? SPI_InitStruct.SPI_CPOL=SPI_CPOL_High;//?®???????±??????×??????????? SPI_InitStruct.SPI_CPHA=SPI_CPHA_2Edge;//?????????????????±???? SPI_InitStruct.SPI_NSS=SPI_NSS_Soft;//NSS???????í?????? SPI_InitStruct.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler;//?¤·??? SPI_InitStruct.SPI_FirstBit=SPI_FirstBit_MSB;//???????? ???????° SPI_InitStruct.SPI_CRCPolynomial=7;//CRC???é???à???? SPI_Init(SPI2,&SPI_InitStruct); SPI_Cmd(SPI2,ENABLE);//????SPI // SPI2_ReadWriteByte(0xff);//???????? } //SPI????????×??? //TxData ????????×??? u8 SPI2_ReadWriteByte(u8 TxData) { while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //?ì?é???¨??SPI±ê?????è????·?:·?????????±ê???? { printf("????\r\n"); } SPI_I2S_SendData(SPI2, TxData); //?¨?????èSPIx·??????????? printf("·???\r\n"); while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) //?ì?é???¨??SPI±ê?????è????·?:????????·???±ê???? { printf("????\r\n"); } printf("????\r\n"); return SPI_I2S_ReceiveData(SPI2); //·????¨??SPIx×??ü?????????? } [/mw_shl_code]


[/mw_shl_code] [mw_shl_code=c,true][/mw_shl_code] [mw_shl_code=c,true]void SPI_MPU6000_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE );//PORTB?±?????? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; // PB12 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //???ì???? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_12);//???è±????????? SPI2_Init(SPI_BaudRatePrescaler_8); //??????SPI } void MPU6000_Init()//±???????????SPI { delay_ms(20); /* GPIO_ResetBits(GPIOB,GPIO_Pin_14);//MISO=0 GPIO_SetBits(GPIOB,GPIO_Pin_12);//CS=1 GPIO_SetBits(GPIOB,GPIO_Pin_15);//MOSI=1 GPIO_SetBits(GPIOB,GPIO_Pin_13);//SCK=1 GPIO_SetBits(GPIOB,GPIO_Pin_12);//CS=1 GPIO_ResetBits(GPIOB,GPIO_Pin_13);//SCK=0 */ SPI_MPU6000_CS=0; //?????è±? delay_ms(2); // SPI_Write_Reg(PWR_MGMT_1,0x80);//?±??reset // delay_us(100); // SPI_Write_Reg(MPUREG_AUX_VDDIO,0);// Auxiliary I2C Supply Selection, set to zero for MPU-6000 // delay_ms(1); SPI_Write_Reg(PWR_MGMT_1,0x00); delay_ms(20); SPI_Write_Reg(USER_CONTROL,0x10);//Disable I2C Enable SPI /0x30 Enable I2C Enable SPI SPI_Write_Reg(SMPLRT_DIV,0x07); SPI_Write_Reg(CONFIG,0x07); SPI_Write_Reg(GYRO_CONFIG,0x18); //2000 ??/s ?é???? 16.4 LSB SPI_Write_Reg(ACCEL_CONFIG,0x01); //??2g ?é???? 16384LSB //SPI_Write_Reg(INT_ENABLE,0x40);//???????? delay_ms(20); SPI_MPU6000_CS=1; } //?ò?????÷address ??data u8 SPI_Write_Reg(u8 address,u8 data) { u8 status; SPI_MPU6000_CS=0; //?????÷?? delay_ms(1); status=SPI2_ReadWriteByte(address); //?????????÷???· SPI2_ReadWriteByte(data); //???????? SPI_MPU6000_CS=1; //???????? return status; } void GetData(void) { s16 H=0,L=0; SPI_MPU6000_CS=0; //?????÷?? delay_ms(1); H=SPI2_ReadWriteByte(ACCEL_XOUT_H|0x80); L=SPI2_ReadWriteByte(ACCEL_XOUT_L|0x80); Original_measure[0]=(H<<8)+L; //???????? measure[0]=(double)Original_measure[0]/16384; //???? ?????? g H=SPI2_ReadWriteByte(ACCEL_YOUT_H|0x80); L=SPI2_ReadWriteByte(ACCEL_YOUT_L|0x80); Original_measure[1]=(H<<8)+L; //???????? measure[1]=(double)Original_measure[1]/16384; //???? ?????? g H=SPI2_ReadWriteByte(ACCEL_ZOUT_H|0x80); L=SPI2_ReadWriteByte(ACCEL_ZOUT_L|0x80); Original_measure[2]=(H<<8)+L; //???????? measure[2]=(double)Original_measure[2]/16384; //???? ?????? g H=SPI2_ReadWriteByte(GYRO_XOUT_H|0x80); L=SPI2_ReadWriteByte(GYRO_XOUT_L|0x80); Original_measure[3]=(H<<8)+L; //???????? measure[3]=(double)Original_measure[3]/16.4; //???? ?????? ??/s H=SPI2_ReadWriteByte(GYRO_YOUT_H|0x80); L=SPI2_ReadWriteByte(GYRO_YOUT_L|0x80); Original_measure[4]=(H<<8)+L; //???????? measure[4]=(double)Original_measure[4]/16.4; //???? ?????? ??/s H=SPI2_ReadWriteByte(GYRO_ZOUT_H|0x80); L=SPI2_ReadWriteByte(GYRO_ZOUT_L|0x80); Original_measure[5]=(H<<8)+L; //???????? measure[5]=(double)Original_measure[5]/16.4; //???? ?????? ??/s SPI_MPU6000_CS=1; } [/mw_shl_code]


SPI.h

147 Bytes, 下载次数: 597

MPU6000.h

2.01 KB, 下载次数: 588

MPU6000.c

5.83 KB, 下载次数: 698

SPI.c

2.15 KB, 下载次数: 661

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-3 23:59:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-4 12:08:56 | 显示全部楼层
看着官方手册又改了一遍...还是读不出来...用I2C也不行....求大神指点  

HARDWARE.rar

5.6 KB, 下载次数: 774

回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-4 12:42:57 | 显示全部楼层
对照数据手册时序来配置SPI还是不行?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-4 12:54:19 | 显示全部楼层
回复【4楼】Badu_Space:
---------------------------------
用的stm32的硬件spi 不是模拟spi   I2C 使用的模拟的   但还是读不出来
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-4 13:35:43 | 显示全部楼层
回复【5楼】oifgjhk:
---------------------------------
论坛好像有例程
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-4 14:14:38 | 显示全部楼层
回复【6楼】Badu_Space:
---------------------------------
大部分都是MPU6050的程序  也看了很多 不知道为什么还是读不出来
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-4 17:37:04 | 显示全部楼层
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) ; 程序一直停在while循环里 是什么情况...
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-4 18:49:06 | 显示全部楼层
回复【6楼】Badu_Space:
---------------------------------
void Soft_SPI_Init()
{
GPIO_InitTypeDef GPIO_InitStruct;

RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIOB?±??????

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//???ì????         //SPI_MPU6000_CS
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_12;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//???ì????         //SCLK
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;//????????    //MISO
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_14;
GPIO_Init(GPIOB,&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//???ì????         //MOSI
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_15;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruct);

GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//GPIOB.13/14/15????
SPI_MPU6000_CS=1;
}
u8 Soft_SPI_ReadWriteByte(u8 TxData)
{
u8 i=0;
for(i=0;i<8;i++)
{
if(TxData&0x80)
MOSI=1;
else
MOSI=0;
TxData<<=1;
SCLK=0;

SCLK=1;//??????·???????
if(MISO)
TxData|=0x01;
}
SCLK=0;
return TxData;
}
这样模拟spi 还是不行
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-4 20:09:54 | 显示全部楼层
抓时序看下,是不是你操作不当呀,看你上面的代码没啥问题
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-5 13:08:17 | 显示全部楼层
回复【10楼】Badu_Space:
---------------------------------
用万用表测 B12  13 14 15 这几个引脚输出高 都只有0.5v左右  这是为什么
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-5 13:35:17 | 显示全部楼层
回复【11楼】oifgjhk:
---------------------------------
用示波器抓波形,你这样测电压是没什么用处的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

21

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2013-1-10
在线时间
10 小时
发表于 2014-5-5 15:16:55 | 显示全部楼层
你用示波器测测sck时钟线能达到khz的频率吗
个人博客www.xiaovdiy.cn
https://shop100764513.taobao.com/
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-5-5 15:21:49 | 显示全部楼层
看来什么都没读出来,你使能了睡眠控制寄存器吗?
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-5 17:06:11 | 显示全部楼层
回复【12楼】Badu_Space:
---------------------------------
我是只让那几个引脚初始化  然后让它输出高  测得值很小
之前用示波器测的 也是 很小 ...最大值才52mv    几乎是一条直线
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-5 17:45:21 | 显示全部楼层
回复【13楼】雨山:
---------------------------------
测不到  这几个引脚都几乎没变化  是IO设置不对吗  还是这几个引脚有问题
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-5 19:29:46 | 显示全部楼层
回复【15楼】oifgjhk:
---------------------------------
13楼意见,看看是不是这个原因
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-5 19:41:56 | 显示全部楼层
回复【17楼】Badu_Space:
---------------------------------
找到了  犯了一个很低级的错误  时钟的设置错了 这要铭记一辈子啊...  不过还是只能用 模拟 SPI  硬件SPI 还是读不出数据  这是什么原因??
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-5 19:49:56 | 显示全部楼层
回复【18楼】oifgjhk:
---------------------------------
配置的时序对了么?不行就用原子哥的配置看下
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-5 20:21:36 | 显示全部楼层
GPIO_InitTypeDef GPIO_InitStruct;
SPI_InitTypeDef SPI_InitStruct;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIOB?±??????
RCC_APB2PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE);//SPI2?±??????
//??????????
//GPIOB.13/14/15????
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;//???????ì????
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruct);
//GPIOB.12    SPI_MPU6000_CS
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//???ì????
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_12;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruct);

GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//GPIOB.13/14/15????
SPI_MPU6000_CS=1;

//SPI2??????

SPI_InitStruct.SPI_Direction=SPI_Direction_2Lines_FullDuplex;//?????¤
SPI_InitStruct.SPI_Mode=SPI_Mode_Master;//?÷SPI
SPI_InitStruct.SPI_DataSize=SPI_DataSize_8b;//8?????á??
SPI_InitStruct.SPI_CPOL=SPI_CPOL_Low;//?????????±??????×???????????
SPI_InitStruct.SPI_CPHA=SPI_CPHA_1Edge;//?????????????????±????
SPI_InitStruct.SPI_NSS=SPI_NSS_Soft;//NSS???????í??????
SPI_InitStruct.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler;//?¤·???
SPI_InitStruct.SPI_FirstBit=SPI_FirstBit_MSB;//????????  ???????°
SPI_InitStruct.SPI_CRCPolynomial=7;//CRC???é???à????
SPI_Init(SPI2,&SPI_InitStruct);

SPI_Cmd(SPI2,ENABLE);//????SPI

配置的应该没错误吧
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-5-5 20:41:44 | 显示全部楼层
好吧,时序。。。
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-5 23:01:25 | 显示全部楼层
回复【21楼】styleno1:
---------------------------------
??能说清楚点吗
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-5-6 10:57:32 | 显示全部楼层
回复【22楼】oifgjhk:
---------------------------------
因为你说解决了,感叹时序而已。
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-5-3
在线时间
0 小时
 楼主| 发表于 2014-5-6 11:40:46 | 显示全部楼层
回复【23楼】styleno1:
---------------------------------
时序确实很重要啊   之前虽然读到了数据 但量程一直不对 今天在后面加了__NOP(); 解决了...
回复 支持 反对

使用道具 举报

5

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-7-26
在线时间
1 小时
发表于 2014-8-2 09:48:06 | 显示全部楼层
回复【24楼】oifgjhk:
---------------------------------
你数据能读出来了吗?能告诉我上面的代码怎么改吗?我弄了几天,一直都读不到数据
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-3-6
在线时间
0 小时
发表于 2015-3-12 17:09:07 | 显示全部楼层
你好,能把时序的问题具体说一下吗?我最近也在用SPI读取原始数据,但还没有读出来,,可能也是你遇到的那个时序的问题,先谢谢了!
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-7-16
在线时间
0 小时
发表于 2015-9-10 10:12:07 | 显示全部楼层
问下,mpu6000的sleep模式怎么设置?是直接对寄存器6b的sleep置1和置0吗?貌似这样做没反应!
没有什么可以阻挡!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2015-8-3
在线时间
2 小时
发表于 2016-5-19 14:25:04 | 显示全部楼层
方便把解决方法详细说一下或者把改好的代码贴出来吗
我也遇到了这个问题
但是示波器测量单片机输出的信号是对的,mpu6000就是没反应
多谢
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-2-25
在线时间
1 小时
发表于 2016-8-31 23:57:59 | 显示全部楼层
版主还在吗? 我遇到相同的问题,
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) ; 程序一直停在while循环里
请问后面是怎么解决的
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 01:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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