你好。使用DA14531模块PCB具有Pro套件和无附件固件(DA14531独立(Set-2))。
1)无附属DA14531 V_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 CLK.
错误
AT + IOCFG = 9,21;SPI MOSI.
错误
在+ Iocfg = 11,22;spi miso
错误
AT + IOCFG = 8,20;spi #cs.
错误
愿我们问我们做错了什么吗?
将继续研究:) ....
谢谢。
嗨mom2,
谢谢你的问题在线。由于您使用的是DA14531微型模块,SPI闪光灯位于标准引脚上(P00,P01,P03,P04),并在启动时使用 - 请参阅DA14531模块数据表和第7部分。如果要使用另一个SPI外围设备(例如SPI传感器),则应在启动完成后执行此操作,并且在模块闪光灯不再使用。
如果在+ iocfg被调用,预计由于以上描述:以下描述:
21.20.0022.19.12 11 00 00 00 00 00 00 00 00 00
闪光引脚以粗体为粗体。
如果在user_at_commands.h头文件中查看USE_AT_SPI,则会看到,如果启用SPI闪光灯(CFG_SPI_FLASH_ENABLE),则排除命令的SPI。
因此,如果您想在命令中使用SPI,则应禁用Flash和Suota功能,因此FW不会配置SPI引脚 - 请参阅User_periph_setup.h - 第221-224行。
总之,如果您想使用AT + IOCFG = 10,19 / 9,21 / 11,22 / 8,20命令,CFG_SPI_FLASH_ENABLE和CFG_PRF_SUOTAR宏应从USER_PROFILES_CONFIG.H中undefined,并且该项目应该是重新的- 上瘾。
谢谢,PM_DIALOG.
谢谢。
如果我们按要求重新编译,我们仍然能够从模块的内部闪存启动吗?在内部闪存引导过程之后,我们还可以重新映射SPI引脚。
嗨mom2,
是的 - 设备可以从闪存启动,但无法与之交互(如upota,将数据存储到闪存等中)
请按照我的推荐,然后尝试从闪存启动。
谢谢,PM_DIALOG.
谢谢。建议似乎正在工作。我们将很快测试真正的SPI外部硬件,并使用总线分析仪登录以确认,但修复程序看起来很有希望。
我们应用的更改是在第48-54行中user_profiles_config.h.无附加的SDK文件。
#if(cmd_local_source == cmd_spi)
#undef cfg_spi_flash_enable.
#undef cfg_prf_suotar.
#别的
// #define cfg_spi_flash_enable.
// #define cfg_prf_suotar.
#万一
结果:
ati.
无附带DA14531 V_6.380.12.6
行
ATR.
+准备
AT + Iocfg.
00 00 00 00 00 12 11 00 00 00 00 00 00 00 00 00 00 00
行
AT + IOCFG = 10,19;SPI CLK.
行
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 00 12 11 00 00 21 19 00
行
在+ Iocfg = 11,22;spi miso
行
AT + Iocfg.
00 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 00 12 11 00 20 21 19 22
行