你好。将DA14531模块PCB与Pro套件和无代码固件(DA14531单机版(SET-TWO))一起使用。
1) 无代码DA14531 v泷U 6.380.12.6
2) 我们的项目需要一个外部SPI设备,我们希望使用这个模块上的一些免费引脚。
3) 第一次测试表明,端口引脚可供我们使用。
AT+IOCFG=10,4时
好的
AT+IOCFG=9,4时
好的
AT+IOCFG=11,4时
好的
AT+IOCFG=8,4时
好的
AT+IOCFG=7,4时
好的
AT+IOCFG公司
21 20 00 22 19 12 11 04 04 04 04 04
4) 接下来,我们尝试将SPI函数管脚重新映射到上面的空闲管脚上,但遇到了错误。
AT+IOCFG=10,19;spi时钟
错误
AT+IOCFG=9,21;spi-mosi
错误
AT+IOCFG=11,22;spi miso
错误
AT+IOCFG=8,20;spi#cs
错误
请问我们做错了什么?
同时将继续研究:)。。。。
谢谢。
嗨,妈妈2,
谢谢你的在线提问。由于您使用的是DA14531微型模块,因此SPI闪存位于标准引脚(P00、P01、P03、P04)上,并在引导时使用–请参阅DA14531模块数据表第七节。如果要使用另一个SPI外围设备(如SPI传感器),则应在引导完成且模块上的闪存不再使用后进行。
如果调用AT+IOCFG,由于上面的描述,预期会看到以下结果:
212000221912 11 00 00 00 00 00
闪光针是粗体的。
如果您在user\u AT\u commands.h头文件中签出USE\u AT\u SPI,您将看到如果启用了SPI flash(CFG\u SPI\u flash \u ENABLE),那么SPI AT命令将被排除。
因此,如果您想使用SPI AT命令,您应该同时禁用flash和SUOTA功能,以便fw不会配置SPI引脚–请参阅user\u periph\u setup.h–line 221-224。
总之,如果您想使用AT+IOCFG=10,19/9,21/11,22/8,20命令,那么CFG\u SPI\u FLASH\u ENABLE和CFG\u PRF\u SUOTAR宏应该从user\u profiles\u config.h中取消定义,并且应该重新构建项目。
谢谢,下午好
谢谢。
如果我们按要求重新编译,我们还能从模块的内部闪存启动吗?我们可以在内部flash引导过程之后重新映射SPI引脚。
嗨,妈妈2,
是–设备可以从闪存启动,但无法与之交互(例如SUOTA、将数据存储到闪存中等)
请按照我的建议,尝试从flash启动。
谢谢,下午好
谢谢。这个建议似乎奏效了。我们将测试真正的SPI外部硬件很快和日志与总线分析仪确认,但修复看起来很有希望。
我们应用的更改在用户配置文件配置文件无代码SDK文件的。
#if(CMD\u LOCAL\u SOURCE==CMD\u SPI)
#未定义CFG\u SPI\u FLASH\u ENABLE
#未定义CFG\u PRF\u SUOTAR
#其他
//#定义CFG_SPI_FLASH_ENABLE
//#定义CFG#PRF#SUOTAR
#结束
结果是:
ATI公司
无代码DA14531 v泷U 6.380.12.6
好的
自动标签阅读器
+准备好了吗
AT+IOCFG公司
00 00 00 00 00 12 11 00 00 00 00 00
好的
AT+IOCFG=10,19;spi时钟
好的
AT+IOCFG公司
00 00 00 00 00 12 11 00 00 00 19 00
好的
AT+IOCFG=9,21;spi-mosi
好的
AT+IOCFG公司
00 00 00 00 00 12 11 00 00 21 19 00
好的
AT+IOCFG=11,22;spi miso
好的
AT+IOCFG公司
00 00 00 00 00 12 11 00 00 21 19 22
好的
AT+IOCFG=8,20;spi#cs
好的
AT+IOCFG公司
00 00 00 00 00 12 11 00 20 21 19 22
好的