我正在寻求构建一个系统,其中DA14580托管使用BLE API的应用程序,并在外部MCU上传送到SPI的外部MCU上的另一个应用程序,其中外部MCU是SPI主机。
在下降这条道路时,我基于我的工作\ reporter_fe_spi项目。该模块包含SPI从站的代码以及UM-B-013中概述的相关协议。然而,它是为FE环境设置的,而我正在寻找一个FH环境。
我创建了一个fh项目并包括spi_hci.c代码。但是,这导致冲突当SPI_Handler符号乘以定义时。挖掘通过代码后,我非常确定我需要这个符号是为了获得SPI中断。因此,我通过修改symdef文件来解决冲突。
但是,我担心我在这里旅行了错误的道路,想知道:
1.在DA14580上拥有应用程序(FH)的适当方法是什么,同时也使用外部MCU作为SPI主人?
2.是否有一些其他步骤,以便从ROM代码中控制SPI接口?

嗨Barryreinhold,
根据您的描述,您需要一个完整的托管应用程序(在DA14580中也需要应用级别代码,BLE堆栈)。所以我建议你从报道_FH项目开始。然后,如果您需要SPI从驱动程序,您将从Reporter_Fe_SPI从Reporter_FE_SPI中获取Port Spi从代码到eporter_FH。
问候!
PY
好的 - 有点有用可能有点过于高水平,让我挖掘一下。
使用FH方法作为基础时,ROM代码仍然具有中断控制器,我需要控制,因为它们将其交给我不想使用的代码(SPI HCI)。例如,为了获得CS行的控制,我有一个处理Boot_vector.s中定义的符号gpio1_handler的处理程序。但是,此处理程序会导致乘法定义的符号,我通过修改sysdefs文件来resole。这允许我编译,但处理程序不会被调用 - 它似乎转到不同的符号$$ SUB $$ GPIO1_Handler。
此外,是否有一个技巧可以让Keil调试器打印堆栈变量(显然在范围内)。我已经将优化级别设置为-O0,但局部变量仍然不符,无法使用。
我不熟悉这个表示法,符号本身不存在于项目的其余部分中。什么是$$ sub $$表示法?我可以接管这个处理程序吗?
你好巴里。
我非常想知道你是否终于管理了DA14580来行动SPI奴隶。
我刚刚使它成功地传播为SPI主人,但没有运气读取任何东西!= 0作为SPI奴隶。
我试图找到演示项目“Proximity \ Reporter *”,但没有运气。
你能粘贴一个链接吗?
谢谢
嗨Kobyfr_Mag.
您可以在SDK3.0.10.1中找到\ DA14580_581_583_SDK_3.0.10 \ dk_apps \ keil_projects \ proximity \ prox_reporter中的Proximity Reporter参考设计。
谢谢mt_dialog.