10个职位/0个新职位
最后一篇文章
埃卡普斯通
离线
最后一次见到:5年6个月前
已加入:2015-04-01 03:55
带LIS3DH的SPI

你好,对话小组,

我是一个正在做项目的学生,遇到了一些困难。

我正在尝试使用DA14580开发板从LIS3DH加速度计读取加速度数据。当我尝试读取任何加速度轴寄存器时,我收到-1返回。我想我的SPI坏了。

我已经使用了dice应用程序示例中提供的LIS3DH\u driver.c中提供的函数。
我尝试过在不同的模式下初始化:
LIS3DH\u WriteReg(0x20、0x77)//CTRL\ U REG1:打开传感器,启用X、Y和Z。ODR=400赫兹。LPen=0“正常”模式
LIS3DHèu WriteReg(0x23、0x80)//CTRL\u REG4:FS=2g。HR=0“正常”模式,低分辨率

AxesRaw\t a\u数据;
LIS3DH\u GetAccAxesRaw(&a\u数据);
然后通过修改DSPS代码通过蓝牙发送3轴加速度数据。

我在periph\u setup.h中设置了以下管脚:

#定义SPI\u GPIO\u端口GPIO\u端口\u 0
#定义SPI\u CLK\u PIN GPIO\u PIN\u 0
#定义SPI\u CS\u PIN GPIO\u PIN \u 3
#定义SPI\ U DI\ U引脚GPIO\ U引脚5
#定义SPI\u DO\u PIN GPIO\u PIN \u 6

我在periph\u setup.c中设置了以下内容
保留GPIO(SPI\ CLK、SPI\ GPIO\端口、SPI\ CLK\引脚、PID\ SPI\ CLK);
保留GPIO(SPI\ U CS、SPI\ U GPIO\ U端口、SPI\ U CS\ U引脚、PID\ U SPI\ U EN);
保留GPIO(SPI\ U DI、SPI\ U GPIO\ U端口、SPI\ U DI\ U引脚、PID\ U SPI\ U DI);
保留GPIO(SPI\ U DO、SPI\ U GPIO\ U端口、SPI\ U DO\ U引脚、PID\ U SPI\ U DO);
保留\u GPIO(UART1 \u TX、UART1 \u TX \u端口、UART1 \u TX \u引脚、PID \u UART1 \u TX);

我已将加速计的MOSI连接到“P0\ U 6”。味噌到“P0\ u5”。Vdd到“SPI\U SUP”。芯片选择到“P0\u 3”,时钟选择到“P0\u 0”。接地连接到“P1\ U 2”上方的两个接地引脚。

我一直在试图找出为什么我的SPI可能不工作,并将非常感谢任何帮助。非常感谢您抽出时间。

谨上,
埃卡普斯通

设备:
埃卡普斯通
离线
最后一次见到:5年6个月前
已加入:2015-04-01 03:55
因为某些原因

出于某种原因,它被审查与明星,所以我真的道歉。在RESERVE\u GPIO的第二行中的第一个删失字是“SPI\u CS”,第二个删失字是“P0\u 0”

再次感谢你。

谨上,

埃卡普斯通

埃卡普斯通
离线
最后一次见到:5年6个月前
已加入:2015-04-01 03:55
芯片选择和“p0\u0”I

芯片选择和“p0\u0”我不知道为什么它再次被审查,即使它是罚款的预览,我再次道歉。

谨上,

埃卡普斯通

JE\U对话框
离线
最后一次见到:1个月1周前
工作人员
已加入:2013-12-05 14:02
你好,埃卡普斯通,可以吗

你好,你能拼出那个带星号的单词吗(每个字母之间有空格)-我们的筛选员把它误认为是坏语言。BR JE\u对话框

埃卡普斯通
离线
最后一次见到:5年6个月前
已加入:2015-04-01 03:55
嗨,我的对话,

嗨,我的对话,

第一个加上星号的单词是:S P I C S
第二个加了星号的单词是:p0\u0

非常感谢你的答复。

谨上,

埃卡普斯通

MT\u对话框
离线
最后一次见到:2个月1周前
工作人员
已加入:2015-06-08 11:34
嗨,埃卡普斯通

嗨,埃卡普斯通

试着切换MISO->SDO和MOSI->SDI线路,我认为这是正确的配置。你能使用GetWHO\u AM\u I函数吗?它是否返回识别码?

谢谢你的对话

埃卡普斯通
离线
最后一次见到:5年6个月前
已加入:2015-04-01 03:55
嗨,MT\u dialog,

嗨,MT\u dialog,

当我使用WHO\u AM\u I函数时,我得到了相同的-1输出。我读到的每一个寄存器都会发生这种情况。所以我相信这是SPI不工作时的默认值。我忘了说这也是我的外围设备。c:
GPIO\ U配置引脚(GPIO\ U端口\ U 0,GPIO\ U引脚\ U 3,输出,PID\ U SPI\ U EN,true);
GPIO\ U配置引脚(GPIO\ U端口\ U 0,GPIO\ U引脚\ U 0,输出,PID\ U SPI\ U CLK,false);
GPIO\ U配置引脚(GPIO\ U端口\ U 0,GPIO\ U引脚\ U 6,输出,PID\ U SPI\ U DO,false);
GPIO\ U配置引脚(GPIO\ U端口\ U 0,GPIO\ U引脚\ U 5,输入,PID\ U SPI\ U DI,false);

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

我设置别针的方式正确吗?不太清楚为什么SPI不起作用。

谨上,

埃卡普斯通

MT\u对话框
离线
最后一次见到:2个月1周前
工作人员
已加入:2015-06-08 11:34
嗨,埃卡普斯通,

嗨,埃卡普斯通,

尝试将SPI\u DI pin设置为INPUT\u PULLUP状态并尝试一下。

谢谢你的对话

利戈·乔治
离线
最后一次见到:1年6个月前
已加入:2018-05-22 00:32
我也面临同样的问题。那么

我也面临同样的问题。然后找出芯片选择引脚是硬编码在驱动程序c文件。编辑后效果很好。

PM\U对话框
离线
最后一次见到:2天23小时前
工作人员
已加入:2018-02-08 11:03
你好,乔治,

你好,乔治,

谢谢你的指示。

你好,下午好