我使用DSPS外围模式作为我的基线开发环境。我的应用程序目前使用2个UARTs和GPIO端口/引脚的SPI分配如下定义:
/****************************************************************************************/
/* UART1 GPIO配置外部主机接口*/
/****************************************************************************************/
#定义GPIO_UART1_TX_PORT GPIO_PORT_0
#定义GPIO_UART1_TX_PIN GPIO_PIN_4
#定义GPIO_UART1_RX_PORT GPIO_PORT_0
#定义GPIO_UART1_RX_PIN GPIO_PIN_5
/****************************************************************************************/
/* UART2 GPIO配置的QPI CI接口*/
/****************************************************************************************/
#定义GPIO_UART2_TX_PORT GPIO_PORT_1
#定义GPIO_UART2_TX_PIN GPIO_PIN_2
#定义GPIO_UART2_RX_PORT GPIO_PORT_1
#定义GPIO_UART2_RX_PIN GPIO_PIN_3
/****************************************************************************************/
/* SPI Flash选项*/
/****************************************************************************************/
#定义SPI_GPIO_PORT GPIO_PORT_0
#定义SPI_CLK_PIN GPIO_PIN_0
#定义SPI_CS_PIN GPIO_PIN_1
#定义SPI_DI_PIN GPIO_PIN_6
#定义SPI_DO_PIN GPIO_PIN_7
我们正在使用580 WL-CSP34包,我知道这个包只有2个可用的GPIO端口。
有了上面的GPIO端口/引脚分配,你有什么建议,在如何释放一个可用的引脚,由DA使用进入另一个设备的复位线,以便我可以编程复位该设备?
谢谢,
——潘文凯
嗨kqtrinh,
是的,WL-CSP34确实只有两个可用端口PORT_0和PORT_1,尽管我不太明白你的问题,你想要一个额外的GPIO管脚,以便通过外部MCU以编程方式复位580,所以我认为你会切换从外部MCU的GPIO通过sw检查引脚的状态并发出平台复位,是这样吗?在你已经发布的当前配置中,你有空闲的引脚(P02, P03, P10和P11,还有P14/SWCLK和P15/SW_DIO也可以使用-你需要对这些引脚稍微小心一点,因为他们是JTAG引脚),所以到底是什么情况?
一些额外的信息,如果你在一个特定的功能配置你的引脚,没有限制重新配置他们在一个不同的功能,例如,你可以配置一个引脚作为UART TX/RX工作时,你想要发送或你意识到你将有一个数据接收,在那之后,你可以重新配置你的引脚,以拥有任何SPI功能。
由于MT_dialog
不,实际上我想要的是另一种方式。我希望DA MCU通过GPIO引脚复位外部设备。因此,基于我已经为两个UARTs和SPI使用的内容,看起来GPIO Port1 Pin0 (P1_0)或Port1 Pin1 (P1_1)可以用于此目的?我正确吗?
我也想使用MCU 16Mhz时钟驱动我的外部设备。这个时钟是否映射到580 Basic/Pro套件上的一个GPIO管脚?如果没有,我如何利用这个时钟作为我的外部设备?
谢谢,
——潘文凯
嗨kqtrinh,
关于时钟的映射,XTAL或任何时钟在GPIO引脚,XTAL16, XTAL32, RC16M_clk, RC32K和RC32K Low jitter时钟分别映射到端口/引脚P05, P06, P07, P10和P11,通过使能相应的时钟,并设置相应的引脚为输出。它将输出选定的时钟到指定的引脚,这种行为只是在测试期间启用(有一个特定的寄存器,把芯片藏在测试模式),这意味着相应的端口0和1的别针将保留的测试信号输出时钟(如果相应的引脚被配置为输出),因此,在测试模式下操作时,您将无法使用这些端口作为输出。此外,如果您打算在580上使用睡眠模式,请注意XTAL将在低功耗模式下关闭。所以我不确定这是否是一个好主意,因为你已经有一个引脚限制。
由于MT_dialog
好的。看来我们不能指望这座钟了。你能评论一下复位引脚,确认一下我的想法是否正确吗?
记得我的问题:
我想换一种方式。我想DA MCU通过DA J4头上的GPIO引脚重置外部设备。
因此,基于我已经为两个UARTs和SPI使用的内容,看起来GPIO Port1 Pin0 (P1_0)或Port1 Pin1 (P1_1)可以用于此目的?我正确吗?
谢谢,
——潘文凯
嗨kqtrinh,
是的,我没有看到任何问题在那,你应该能够使用那些GPIO的输出驱动你的外部MCU复位。
由于MT_dialog
在GPIO的DA固件代码中,有如下功能
GPIO_ConfigurePin ()
GPIO_SetInactive ()
GPIO_SetActive ()
请告诉我什么时候用哪个好吗?看一下代码,看起来GPIO_ConfigurePin()需要在初始化或启动期间调用。然后可以使用GPIO_SetActive()和GPIO_SetInactive()。我的理解对吗?
谢谢,
——潘文凯
嗨kqtrinh,
是的,GPIO_ConfigurePin()是配置引脚的功能,也可以设置引脚的默认状态(高或低)GPIO_SetInactive()和GPIO_SetActive()是用来设置引脚的状态高或低。
我建议看一下UM-B-051 DA1458x软件平台参考文档10.3节,其中记录了SDK中gpio的驱动程序。
由于MT_dialog