10个帖子/ 0新
最后一篇
EeeCapstone.
离线
最后一次露面:5年6个月前
加入:2015-04-01 03:55
spi与lis3dh.

您好对话团队,

我是一个在一个项目上工作的学生,并遇到了一些困难。

我正在尝试使用DA14580开发板从LIS3DH加速度计读取加速数据。当我尝试从任何加速轴读取时,我收到-1返回。我相信我的spi不起作用。

我已经利用了DICE应用示例中提供的LIS3DH_DRIVER.C中提供的函数。
我尝试以不同模式初始化:
LIS3DH_WRITEREG(0x20,0x77);// ctrl_reg1:打开传感器,使能X,Y和Z. ODR = 400Hz。lpen = 0“正常”模式
LIS3DH_WRITEREG(0x23,0x80);// ctrl_reg4:fs = 2g。HR = 0“正常”模式,具有低分辨率

axesraw_t a_data;
lis3dh_getaccaxesraw(&a_data);
然后通过DSPS代码的修改将3轴加速数据通过蓝牙发送。

我在periph_setup.h中设置了以下引脚:

#define spi_gpio_port gpio_port_0.
#define spi_clk_pin gpio_pin_0.
#define spi_cs_pin gpio_pin_3.
#define spi_di_pin gpio_pin_5.
#define spi_do_pin gpio_pin_6.

我在periph_setup.c中设置了以下内容
保留_GPIO(SPI_CLK,SPI_GPIO_PORT,SPI_CLK_PIN,PID_SPI_CLK);
Letail_GPIO(SPI_CS,SPI_GPIO_PORT,SPI_CS_PIN,PID_SPI_EN);
保留_GPIO(SPI_DI,SPI_GPIO_PORT,SPI_DI_PIN,PID_SPI_DI);
保留_GPIO(SPI_DO,SPI_GPIO_PORT,SPI_DO_PIN,PID_SPI_DO);
保留_GPIO(UART1_TX,UART1_TX_PORT,UART1_TX_PIN,PID_UART1_TX);

我已将加速度计的MOSI连接到'P0_6'。miso'p0_5'。VDD到'SPI_SUP'。芯片选择“P0_3”和时钟到“P0_0”。地面连接到“P1_2”上方的两个引脚。

我一直试图弄清楚为什么我的SPI可能不起作用,并非常感谢任何帮助。谢谢你的时间。

此致,
EeeCapstone.

设备:
EeeCapstone.
离线
最后一次露面:5年6个月前
加入:2015-04-01 03:55
出于某种原因是

由于某种原因,它被星星审查所以我会道歉。第二行保留_GPIO中的第一个被审查的单词是“SPI_CS”,第二个被审查的单词是“P0_0”

再一次谢谢你。

此致,

EeeCapstone.

EeeCapstone.
离线
最后一次露面:5年6个月前
加入:2015-04-01 03:55
芯片选择和“p 0 _ 0”i

芯片选择和“p 0 _ 0”我不知道为什么它再次被审查,即使在预览中很好,我也会再次道歉。

此致,

EeeCapstone.

je_dialog.
离线
最后一次露面:1个月6天前
职员
加入:2013-12-05 14:02
Helo EeeCapstone,你能

Helo EeeCapstone,你能拼出令人毛(每封信之间的空间) - 我们的佩特勒是错误地将其作为糟糕的唐扬望。BR JE_DIALOG.

EeeCapstone.
离线
最后一次露面:5年6个月前
加入:2015-04-01 03:55
嗨je_dialog,

嗨je_dialog,

令人统一的第一个单词是:S p i _ c s
已经令人统计的第二个词是:P 0 _ 0

非常感谢你的答复。

此致,

EeeCapstone.

mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨EeeCapstone.

嗨EeeCapstone.

尝试切换MISO - > SDO和MOSI-> SDI线,我认为这是正确的配置。你能使用getwho_am_i函数吗?它是否返回了识别码?

谢谢mt_dialog.

EeeCapstone.
离线
最后一次露面:5年6个月前
加入:2015-04-01 03:55
嗨mt_dialog,

嗨mt_dialog,

当我使用WHO_AM_I函数时,我得到-1的相同输出。这是我读取的每个寄存器的情况。所以我相信SPI不起作用的默认值是默认值。我忘了提到这也是我的periph_setup.c:
gpio_configurepin(gpio_port_0,gpio_pin_3,输出,pid_spi_en,true);
gpio_configurepin(gpio_port_0,gpio_pin_0,输出,pid_spi_clk,false);
gpio_configurepin(gpio_port_0,gpio_pin_6,输出,pid_spi_do,false);
gpio_configurepin(gpio_port_0,gpio_pin_5,输入,pid_spi_di,false);

因此加速度计的输出进入DA14580的输入引脚。

是我建立针线的方式吗?真的不确定SPI没有工作。

此致,

EeeCapstone.

mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨EeeCapstone,

嗨EeeCapstone,

尝试在input_pullup状态下设置SPI_DI引脚,并尝试一下。

谢谢mt_dialog.

ligo.george.
离线
最后一次露面:6个月前1年
加入:2018-05-22 00:32
我也面临着同样的问题。然后

我也面临着同样的问题。然后找出芯片选择引脚在驱动程序C文件中硬编码。在编辑后它正在正常工作。

PM_DIALOG.
离线
最后一次露面:1天4小时前
职员
加入:2018-02-08 11:03
嗨ligo.george,

嗨ligo.george,

谢谢你的迹象。

问候,pm_dialog