9个员额/0个新员额
最后一篇文章
丹尼尔59
离线
最后一次见到:1年9个月前
加入:2016-01-08 04:34
SPI初始化后仍无法读取

使用的是模拟的ADXL362与DA14580相连,
进行初始化

spi_init(&spipin、spi_MODE_8BIT、spi_ROLE_MASTER、spi_CLK_IDLE_POL_LOW、spi_PHA_MODE_0、spi_MINT_DISABLE、spi_XTAL_DIV_8);

后运行代码 读取器件身份证件
spi_cs_low();
spi_访问(0x0B);
spi_访问(0x00);
devid=spi_访问(0x00);
spi_cs_高();
返回0x00有时能正常读取有时不行。请问是怎么回事呢?

顺便问一下若是使用SDK5.0.3编写好了代码,是否有必要将代码移植到SDK5.0.4上呢?

设备:
工友对话
离线
最后一次见到:2天8小时前
加入:2016-04-27 07:07
×你可以对照SDK5.0.4的DA1458x

×你可以对照SDK5.0.4的DA1458x_软件版本注释版本5.0.4.pdf来决定是否有必要更新。代码的结构都差不多
×spi的问题,你仿照函数spi\u读取\u闪存\u jedec\u id加一段试试。或者从逻辑分析仪里看看问题在哪里

spi_闪存_状态=spi_闪存_等待_直到准备就绪();
如果(spi_闪存_状态!=错误_正常)
返回spi_闪存_状态;//发生了一个错误

spi_设置_位模式(spi_模式_8BIT);

丹尼尔59
离线
最后一次见到:1年9个月前
加入:2016-01-08 04:34
您好,

您好,

我参照了ADXL362的规格书发现它并没有状态指示的寄存器。

逻辑分析仪是什么?是智能代码段中的功能吗?

工友对话
离线
最后一次见到:2天8小时前
加入:2016-04-27 07:07
也可以用示波器上看波形。还有就是spi

也可以用示波器上看波形。还有就是spi_init里的配置再确认一遍~

丹尼尔59
离线
最后一次见到:1年9个月前
加入:2016-01-08 04:34
配置是已经确认过啦~主要就是代码什么都没动过

配置是已经确认过啦~主要就是代码什么都没动过,有时候能正常工作,有时候无法正常工作,这点比较让人费解……会不会是电路连接上的错误?

工友对话
离线
最后一次见到:2天8小时前
加入:2016-04-27 07:07
把操作的代码放到周界函数里面

把操作的代码放到周界函数里面,看看结果怎么样?

丹尼尔59
离线
最后一次见到:1年9个月前
加入:2016-01-08 04:34
跑调试结果变0x00之后试了一把还是不行

跑调试结果变0x00之后试了一把还是不行。今天早上刚开机第一次调试程序是正常的,后面有一次变0x00之后都是0x00了。。和这个会有关系吗?

工友对话
离线
最后一次见到:2天8小时前
加入:2016-04-27 07:07
你放在周界里面,多次反复跑

你放在周界里面,多次反复跑,把结果打印出来,看看是不是每次都是对的。如果不对,你在中间加一些延时看看

丹尼尔59
离线
最后一次见到:1年9个月前
加入:2016-01-08 04:34
操作的代码包括SPI_init吗

操作的代码包括SPI_init吗?光放通道部分的代码反复跑,要么就是每次都对的,要么就是每次都不对……