我正在使用DSP外设模式作为我的基线开发环境。我的申请目前使用2个UART和SPI分配GPIO端口/引脚,如下所定义:
/****************************************************************************************/
/ * UART1外部主机接口的GPIO配置* /
/****************************************************************************************/
#define gpio_uart1_tx_port gpio_port_0.
#define gpio_uart1_tx_pin gpio_pin_4.
#定义GPIO\U UART1\U RX\U端口GPIO\U端口\U 0
#定义GPIO\U UART1\U RX\U引脚GPIO\U引脚5
/****************************************************************************************/
/*QPI CI接口的UART2 GPIO配置*/
/****************************************************************************************/
#define gpio_uart2_tx_port gpio_port_1.
#定义GPIO\U UART2\U TX\U引脚GPIO\U引脚2
#define gpio_uart2_rx_port gpio_port_1.
#define gpio_uart2_rx_pin gpio_pin_3.
/****************************************************************************************/
/*SPI闪存选项*/
/****************************************************************************************/
#定义SPI\u GPIO\u端口GPIO\u端口\u 0
#定义SPI\u CLK\u PIN GPIO\u PIN\u 0
#define spi_cs_pin gpio_pin_1.
#define spi_di_pin gpio_pin_6.
#定义SPI\u DO\u PIN GPIO\u PIN \u 7
我们使用的是580 WL-CSP34包,据我所知,这个包只有2个可用的GPIO端口。
使用上述GPIO端口/管脚分配,您对如何释放可用管脚以供DA使用以接入另一个设备的重置行以便我可以编程重置该设备有何建议?
谢谢,
--凯
嗨,克克特林,
是的,WL-CSP34确实只有两个可用端口端口0和端口1,虽然我不太明白你的问题,你想要一个额外的GPIO引脚,以便通过外部MCU编程复位580,所以我假设你会通过sw从外部MCU检查GPIO,切换到pin的状态,然后发出一个平台重置,是这样的吗?在您发布的当前配置中,您有空闲管脚(P02、P03、P10和P11,也可以使用P14/SWCLK和P15/SWèDIO-您需要小心使用这些管脚,因为它们是JTAG管脚),那么到底是什么情况?
一些额外的信息,如果你在一个特定的功能中配置你的pin,那么在一个不同的功能中重新配置它们是没有限制的,例如,您可以配置一个引脚作为UART TX/RX工作时,您想传输或您知道您将有一个数据接收,然后您可以重新配置您的引脚有任何SPI功能。
谢谢你的对话
不,实际上我想要它等待它。我希望DA MCU通过GPIO引脚重置外部设备。因此,根据我已经用了两个uart和SPI,看起来GPIO Port1 Pin0(P1\u 0)或Port1 Pin1(P1\u 1)都可以用于这个目的?我说的对吗?
我也想用单片机16Mhz的时钟来驱动我的外部设备。该时钟是否映射到580 Basic/Pro套件上的GPIO引脚之一?如果没有,我如何利用这个时钟为我的外部设备?
谢谢,
--凯
嗨,克克特林,
关于时钟的映射,通过启用相应的时钟并将相应的管脚设置为输出,将XTAL或GPIO管脚上的任何时钟、XTAL16、XTAL32、RC16M\u clk、RC32K和RC32K低抖动时钟分别映射到端口/管脚P05、P06、P07、P10和P11。将选定的时钟输出到指定的管脚,此行为仅在测试期间启用(有一个特定的隐藏寄存器将芯片置于测试模式),这意味着端口0和1的相应管脚将被保留以输出时钟的测试信号(如果相应管脚配置为输出),因此,在测试模式下运行时,您将无法使用这些端口作为输出。另外,如果您打算使用580上的睡眠模式,请注意XTAL将在低功率模式下关闭。所以我不确定这是不是一个好主意,因为你已经准备好有一个引脚限制。
谢谢你的对话
好 啊。看来我们不能指望这只580的钟了。你能评论一下重置密码以确认我的想法是否正确吗?
回想我的问题:
我想反过来。我希望DA MCU通过DA J4头上的GPIO引脚重置外部设备。
因此,根据我已经用了两个uart和SPI,看起来GPIO Port1 Pin0(P1\u 0)或Port1 Pin1(P1\u 1)都可以用于这个目的?我说的对吗?
谢谢,
--凯
嗨,克克特林,
是的,我没有看到任何问题,在这方面,你应该能够使用这些GPIO的输出驱动你的外部MCU在复位。
谢谢你的对话
在GPIO的DA固件代码中,有如下函数
gpio_configurepin()
gpio_setinactive()
GPIO\u SetActive()
你介意告诉我什么时候使用?查看代码,看起来需要在初始化或启动期间调用GPIO_CONFIGUREPIN()。然后可以使用gpio_setactive()和gpio_setinactive()。我的理解是否正确?
谢谢,
--凯
嗨,克克特林,
是的GPIO_ConfigurePin()用于配置管脚的功能,您还可以设置管脚的默认状态(高或低)。GPIO_SetInactive()和GPIO_SetActive()用于将管脚的状态设置为高或低。
我建议您查看第10.3节中的UM-B-051 DA1458x Software Platform Reference.pdf,其中记录了SDK中GPIO的驱动程序。
谢谢你的对话