da1469x.
3个月前
张贴了杰瑞娟225分 4回复我们正在使用SDK_10.0.10.118,并希望将GPIO输出设置为无效,但失败。
你可以帮我检查缺少任何配置吗?
hw_gpio_set_pin_function(hw_gpio_port_0,hw_gpio_pin_12,hw_gpio_mode_output,hw_gpio_func_gpio);
hw_gpio_configure_pin_power(hw_gpio_port_0,hw_gpio_pin_12,hw_gpio_power_v33);
hw_gpio_configure_pin(hw_gpio_port_0,hw_gpio_pin_12,hw_gpio_mode_output,hw_gpio_func_gpio,true);
hw_gpio_pad_latch_enable(hw_gpio_port_0,hw_gpio_pin_12);
os_delay_ms(1000);
hw_gpio_set_inactive(hw_gpio_port_0,hw_gpio_pin_12);
os_delay_ms(1000);
hw_gpio_set_active(hw_gpio_port_0,hw_gpio_pin_12);
os_delay_ms(1000);
hw_gpio_set_inactive(hw_gpio_port_0,hw_gpio_pin_12);
3个月前
嗨杰瑞,
P0_12和P0_13是CMAC SWD。
请参阅第40.2.1节可编程引脚分配和表146:修复了数据表的特定信号的分配。另请参见第299页的注1。
da1469x数据表:https://www.dialog-seminile.com/sites/default/files/2020-12/da1469x_datasheet_3v2.pdf.
默认情况下启用CMAC调试器 - 请参阅bsb_debug.h中的dg_configenable_cmac_debugger。
因此,为了禁用CMAC调试器并使用P0_12或P0_13作为GPIO,将DG_CONFIGENABLE_CMAC_DEBUGGEG设置为“自定义配置文件(custom_config_xxx.h)”。
请参阅下面的代码片段,用于在periph_init()中切换p0_12和p0_13。
在custom_config_xxx.h中:
#define dg_configenable_cmac_debugger(0)
在periph_init():
hw_gpio_configure_pin(hw_gpio_port_0,hw_gpio_pin_12,hw_gpio_mode_output,hw_gpio_func_gpio,false);hw_gpio_configure_pin(hw_gpio_port_0,hw_gpio_pin_13,hw_gpio_mode_output,hw_gpio_func_gpio,false);hw_gpio_pad_latch_enable(hw_gpio_port_0,hw_gpio_pin_12);hw_gpio_pad_latch_enable(hw_gpio_port_0,hw_gpio_pin_13);hw_clk_delay_usec(100);hw_gpio_set_active(hw_gpio_port_0,hw_gpio_pin_12);hw_gpio_set_active(hw_gpio_port_0,hw_gpio_pin_13);hw_clk_delay_usec(100);hw_gpio_set_inactive(hw_gpio_port_0,hw_gpio_pin_12);hw_gpio_set_inactive(hw_gpio_port_0,hw_gpio_pin_13); hw_gpio_pad_latch_disable(HW_GPIO_PORT_0, HW_GPIO_PIN_12); hw_gpio_pad_latch_disable(HW_GPIO_PORT_0, HW_GPIO_PIN_13);
谢谢,PM_DIALOG.
3个月前
嗨杰瑞,
当锁存GPIO时,即激活焊盘并将其连接到数字逻辑。当未分离时,它会断开焊盘与数字逻辑的连接,并保持焊盘状态。我能够用您提供的代码在Periph_init()中切换GPIO。您正在尝试切换p0_12的代码中的哪个位置?
为了使用CMAC调试器PAD作为GPIOS,您应该:
1.如我以前的回复中所建议的建议禁用CMAC调试器
2.将焊盘配置为GPIOS。
请参阅下面的示例代码,用于切换P0_12:
hw_gpio_configure_pin(hw_gpio_port_0,hw_gpio_pin_12,hw_gpio_mode_output,hw_gpio_func_gpio,false);hw_gpio_pad_latch_enable(hw_gpio_port_0,hw_gpio_pin_12);hw_clk_delay_usec(100);hw_gpio_set_active(hw_gpio_port_0,hw_gpio_pin_12);hw_clk_delay_usec(100);hw_gpio_set_inactive(hw_gpio_port_0,hw_gpio_pin_12);hw_gpio_pad_latch_disable(hw_gpio_port_0,hw_gpio_pin_12);
谢谢,PM_DIALOG.
3个月前
设置PIN高/低电平后,引脚状态不会相应地更改,不确定发生了什么。