不能你tput XTAL32K

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
ethsiplab.
离线
Last seen:1个月2周前
加入:2019-09-13 12:58
不能你tput XTAL32K

你好呀,

我正在尝试在P0_14上输出XTAL32K,以便能够将其连接到外部传感器。但是,直到现在我没有成功尝试这样做。我始终将P0_14设置为输出模式并尝试以下内容:

1.我已将p0_14函数设置为hw_gpio_func_clock函数并设置gpio_clk_sel_reg [func_clock_en]
2.或者,我已经设置了GPIO_CLK_SEL_REG [FUNC_CLOCK_EN],同时将P0_14函数设置为HW_GPIO_FUNC_GPIO。同时,我按照数据表第294页的指示设置了USBPAD_REG [USBPAD_EN](40.2.5特殊I / O考虑因素)

我还尝试了上述方法的各种组合,但无法让它工作。

你能告诉我我做错了什么吗?

What is the difference between the two approaches above?

在数据表的第294页上(40.2.5特殊I / O考虑),它说,P0_14不应在睡眠模式下使用。这是否意味着,我无法在睡眠模式下输出XTAL32K?

Thanks for you help!

设备:
PM_Dialog
离线
Last seen:15小时55分钟前
职员
加入:2018-02-08 11:03
嗨基督徒,

嗨基督徒,

让我检查一下,我会尽快回复你。

Thanks, PM_Dialog

ethsiplab.
离线
Last seen:1个月2周前
加入:2019-09-13 12:58
有关此问题的任何消息?到目前为止,我

有关此问题的任何消息?到目前为止,我发现“5.4.3从DA1469X生成时钟输出”在DA1469X应用程序硬件设计指南中,从上面回答问题2和3。但是,它仍然没有工作。以下是我配置事物的方式:

在system_init()中,我将sleep_mode设置为pm_mode_idle以将处理器保存在活动状态下:

pm_sleep_mode_set (pm_mode_idle);

之后,我按照两种方法配置引脚(两者都不适用于我)。

方法1:

hw_gpio_set_pin_function(hw_gpio_port_1,hw_gpio_pin_2,hw_gpio_mode_output,hw_gpio_func_clock);gpio-> gpio_clk_sel_reg = gpio-> gpio_clk_sel_reg |0x08;// func_clock_en.

方法2:

hw_gpio_set_pin_function(hw_gpio_port_0,hw_gpio_pin_14,hw_gpio_mode_output,hw_gpio_func_clock)gpio-> gpio_clk_sel_reg = gpio-> gpio_clk_sel_reg |0x10; // xtal32k_output_en

PM_Dialog
离线
Last seen:15小时55分钟前
职员
加入:2018-02-08 11:03
嗨基督徒,

嗨基督徒,

我为延迟道歉。根据数据表,P0_14用于USB,专门用于模拟USB全速D +信号(USBP)。请查看数据表中的DA14691 / 5针描述。有两个选项可以将XTAL32K导出到GPIO。

  1. Export XTAL32K to P0_14.

DA1469x子板卡中需要硬件修改。假设您正在使用DA14695子板VFBGA86。可以在下面的链接中找到原理图:

//www.xmece.com/sites/default/files/da14695-db-vfbga86_vd-sch.pdf

By default R7(0 Ohm) and R8(0 Ohm) resistors are not populated. In case of exporting the XTAL32K to P0_14, both resistors should be populated, but you will not have USB functionality anymore. After the HW modifications, please do the following SW modifications. For demonstration purposes, you should modify prvSetupHardware() in the freertos_retarget project of the SDK like follow:

#define自动_clock_output(1)静态void prvsetuphardware(void){/ * init硬件* / pm_system_init(periph_init);uint32_t val = gpio-> gpio_clk_sel_reg;#if!automatic_clock_output reg_set_field(gpio,gpio_clk_sel_reg,func_clock_sel,val,0);REG_SET_FIELD(GPIO,GPIO_CLK_SEL_REG,FUNC_CLOCK_EN,VAL,1);#else reg_set_field(gpio,gpio_clk_sel_reg,xtal32k_output_en,val,1);#endif gpio-> gpio_clk_sel_reg = val;val = 0;val = gpreg-> usbpad_reg;REG_SET_FIELD(GPREG,USBPAD_REG,USBPAD_EN,VAL,1);gpreg-> usbpad_reg = val; hw_gpio_set_pin_function(HW_GPIO_PORT_0, HW_GPIO_PIN_14, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_CLOCK); hw_gpio_pad_latch_enable(HW_GPIO_PORT_0, HW_GPIO_PIN_14); }

是设置寄存器的两种不同的方法。代码片段也使用自动_clock_output设置为0。

默认休眠模式是扩展睡眠模式,因此您将看到XTal32k导出到8°C左右的P0_14。8SEC后,设备将扩展睡眠状态,配置将丢失。如果您希望将XTAL32K导出到P0_14继续,请禁用将扩展的睡眠模式(PM_Mode_exted_sleep)禁止到活动模式(PM_Mode_active)。

  1. Export XTAL32K to another GPIO, for example P0_28

在这种情况下,您不应需要执行任何硬件修改。只需在Freertos_Retarget项目中使用以下代码片段。

静态void prvsetuphardware(void){/ * init硬件* / pm_system_init(periph_init);uint32_t val = gpio-> gpio_clk_sel_reg;REG_SET_FIELD(GPIO,GPIO_CLK_SEL_REG,FUNC_CLOCK_SEL,VAL,0);REG_SET_FIELD(GPIO,GPIO_CLK_SEL_REG,FUNC_CLOCK_EN,VAL,1);gpio-> gpio_clk_sel_reg = val;hw_gpio_set_pin_function(hw_gpio_port_0,hw_gpio_pin_28,hw_gpio_mode_output,hw_gpio_func_clock);hw_gpio_pad_latch_enable(hw_gpio_port_0,hw_gpio_pin_28);}

Thanks, PM_Dialog