我使用DSPS外围模式作为我的基线开发环境。我的应用程序目前使用2个UARTs和GPIO端口/引脚的SPI分配如下定义:
/****************************************************************************************/
/* UART1 GPIO配置外部主机接口*/
/****************************************************************************************/
#定义GPIO_UART1_TX_PORT GPIO_PORT_0
#定义GPIO_UART1_TX_PIN GPIO_PIN_4
#定义GPIO\U UART1\U RX\U端口GPIO\U端口\U 0
#定义GPIO_UART1_RX_引脚GPIO_引脚5
/****************************************************************************************/
/*QPI CI接口的UART2 GPIO配置*/
/****************************************************************************************/
#定义GPIO_UART2_TX_PORT GPIO_PORT_1
#定义GPIO\U UART2\U TX\U引脚GPIO\U引脚2
#定义GPIO_UART2_RX_PORT GPIO_PORT_1
#定义GPIO_UART2_RX_PIN GPIO_PIN_3
/****************************************************************************************/
/*SPI闪存选项*/
/****************************************************************************************/
#定义SPI_GPIO_端口GPIO_端口0
#定义SPI_CLK_引脚GPIO_引脚0
#定义SPI_CS_PIN GPIO_PIN_1
#定义SPI_DI_PIN GPIO_PIN_6
#定义SPI_DO_引脚GPIO_引脚7
我们正在使用580 WL-CSP34包,我知道这个包只有2个可用的GPIO端口。
通过上述GPIO端口/pin分配,您对如何释放可用pin供DA使用以接入另一个设备的重置线路,以便我可以编程方式重置该设备有何建议?
谢谢,
--凯
嗨,克特林,
是的,WL-CSP34实际上只有两个可用端口端口端口0和端口1,虽然我不太理解您的问题,但您需要一个额外的GPIO引脚,以便通过外部MCU以编程方式重置580,因此,我假设您将通过sw从外部MCU检查切换GPIO引脚的状态,并发出平台重置,是这样吗?在您发布的当前配置中,您有空闲管脚(P02、P03、P10和P11,也可以使用P14/SWCLK和P15/SW_DIO-您需要小心使用这些管脚,因为它们是JTAG管脚),那么具体情况如何?
一些附加信息,如果您在特定功能中配置PIN,则不限制在不同功能中重新配置它们,例如,当您想要传输或意识到将要进行数据接收时,您可以将pin配置为UART TX/RX,完成后,您可以将pin配置为具有任何SPI功能。
谢谢你的对话
不,实际上我想要的是另一种方式。我希望DA MCU通过GPIO引脚复位外部设备。因此,基于我已经使用了两个UART和SPI,看起来GPIO端口1 Pin0(P1_0)或端口1 Pin1(P1_1)可以用于此目的?我说得对吗?
我还想使用MCU 16Mhz时钟来驱动我的外部设备。该时钟是否映射到580 Basic/Pro套件上的GPIO引脚之一?如果没有,我如何利用外部设备的时钟?
谢谢,
--凯
嗨,克特林,
关于时钟的映射,通过启用相应的时钟并将相应的引脚设置为输出,将XTAL或GPIO引脚上的任何时钟、XTAL16、XTAL32、RC16M_clk、RC32K和RC32K低抖动时钟分别映射到端口/引脚P05、P06、P07、P10和P11。将所选时钟输出到指定引脚,此行为仅在测试期间启用(有一个特定的隐藏寄存器将芯片置于测试模式),这意味着端口0和1的相应引脚将保留以输出时钟的测试信号(如果相应引脚配置为输出),因此,在测试模式下运行时,您将无法使用这些端口作为输出。此外,如果您打算在580上使用睡眠模式,请注意XTAL将在低功率模式下关闭。因此,我不确定这是否是一个好主意,因为您都有pin限制。
谢谢你的对话
好啊看起来我们不能指望580的时钟了。你能评论一下重置pin以确认我的想法是否正确吗?
回想我的问题:
我想要另一种方式。我希望DA MCU通过DA J4头上的GPIO引脚重置外部设备。
因此,基于我已经使用了两个UART和SPI,看起来GPIO端口1 Pin0(P1_0)或端口1 Pin1(P1_1)可以用于此目的?我说得对吗?
谢谢,
--凯
嗨,克特林,
是的,我没有看到任何问题,在这方面,你应该能够使用这些GPIO的输出驱动你的外部MCU复位。
谢谢你的对话
在GPIO的DA固件代码中,有如下功能
GPIO_ConfigurePin ()
GPIO_SetInactive ()
GPIO_SetActive()
请告诉我什么时候用哪个好吗?看一下代码,看起来GPIO_ConfigurePin()需要在初始化或启动期间调用。然后可以使用GPIO_SetActive()和GPIO_SetInactive()。我的理解对吗?
谢谢,
--凯
嗨,克特林,
是的,GPIO_ConfigurePin()用于配置管脚的功能,您也可以设置管脚的默认状态(高或低)。GPIO_SetInactive()和GPIO_SetActive()用于将管脚的状态设置为高或低。
我建议查看第10.3节中的UM-B-051 DA1458x软件平台参考.pdf,该文件记录了SDK中GPIO的驱动程序。
谢谢你的对话