基于SPI的BMI055加速度计。问题

2个职位/ 0个新职位
最后发表
Baswaraj
离线
最后看到:5年2个月前
加入:2015-05-20 07:18
基于SPI的BMI055加速度计。问题

你好,

我们正在尝试与基于SPI的BMI055加速计通信。

下面是我们的设置:
o P0_0 SPI时钟
o P0_1 LF_Enable (CS)
o P0_5味噌
o P0_6莫西人

下面是代码:
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_0, OUTPUT, PID_SPI_CLK, false);/ /时钟
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_1, OUTPUT, PID_SPI_EN, true);/ / CS
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_SPI_DI, false);/ /味噌
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_6, OUTPUT, PID_SPI_DO, false);/ /莫西人
/ /……
注意:这个指向CS线的引脚和端口
SPI_MODE_8BIT,
SPI_ROLE_MASTER,
SPI_CLK_IDLE_POL_LOW,
SPI_PHA_MODE_1,
SPI_MINT_DISABLE,
SPI_XTAL_DIV_8);

和一个简单的读寄存器代码:
spi_cs_high ();
spi_set_bitmode (SPI_MODE_8BIT);
spi_access ((uint8_t) (READ_MODE |地址));/ / x00h地址是0
regval = (uint8_t) spi_access (0 x0000);//注意:regval总是0xff
spi_cs_low ();

现在,读尝试总是返回0xff(地址0x50001202的值),
我们确信这是错误的,因为我们试图读取一个默认值,应该是0xFA。

谢谢你!

Baswaraj。

设备:
MT_dialog
离线
最后看到:6个月3个星期前
工作人员
加入:2015-06-08 34
嗨Baswaraj,

嗨Baswaraj,

您是否能够捕获总线活动,以检查传感器是否响应命令。你还初始化了SPI吗?另外,请尝试调用spi_cs_low()来启动事务,然后调用spi_cs_high来结束事务。

由于MT_dialog