volbin0042 发表于 2022-12-21 16:41

请教 HC32F002 修改分频数 SYSCTRL_RCH_DIV1 无波形输出 这是为何?

请教 执行范例程序 GPIO_PA01_HCLK_OUT();可量测到波形输出
唯独修改分频数 SYSCTRL_RCH_DIV1 无波形输出 这是为何?
SYSCTRL_RCH_DIV2可量测到波形输出
SYSCTRL_RCH_DIV4可量测到波形输出

void App_ClkCfg(void)
{
    stc_sysctrl_sysclk_source_init_t stcSysClkSrc = {0};
    stc_sysctrl_clk_init_t stcSysClk = {0};

    ///< 系统时钟源初始化
    stcSysClkSrc.u32SysClkSourceType = SYSCTRL_SYSCLK_SOURCE_TYPE_RCH;
    stcSysClkSrc.u32RCHState         = SYSCTRL_RCH_TRIM_48MHz |\
                                                   SYSCTRL_RCH_DIV12;

    SYSCTRL_SysClkSrcInit(&stcSysClkSrc);

    ///< 系统时钟初始化
    stcSysClk.u32ClockType    = SYSCTRL_CLOCKTYPE_SYSCLK |\
                              SYSCTRL_CLOCKTYPE_HCLK   |\
                              SYSCTRL_CLOCKTYPE_PCLK;
    stcSysClk.u32SysClkSource = SYSCTRL_SYSCLK_SOURCE_RCH;
    stcSysClk.u32HClkDiv      = SYSCTRL_SYSCLK_HCLK_PRS1;
    stcSysClk.u32PClkDiv      = SYSCTRL_SYSCLK_PCLK_PRS2;
    stcSysClk.u32WaitCycle    = SYSCTRL_FLASH_WAIT_CYCLE1;

    SYSCTRL_SysClkInit(&stcSysClk);
}

huahuagg 发表于 2022-12-22 21:20

修改之前有波形输出吗

volbin0042 发表于 2022-12-23 09:20

huahuagg 发表于 2022-12-22 21:20
修改之前有波形输出吗

有波形
组合1
SYSCTRL_RCH_DIV1;
SYSCTRL_SYSCLK_HCLK_PRS2;也有波形
组合2
SYSCTRL_RCH_DIV1;
SYSCTRL_SYSCLK_HCLK_PRS1;没波形

mcu021 发表于 2022-12-23 10:23

FAE不知道跑那里去了,全靠热心网友。

mcu021 发表于 2022-12-23 10:26

其实吧,只要仔细看下手册,就知道是为什么了。




volbin0042 发表于 2022-12-23 15:12

mcu021 发表于 2022-12-23 10:26
其实吧,只要仔细看下手册,就知道是为什么了。

感谢!
我查一下手册!
再试试!

tpgf 发表于 2023-1-3 09:05

还有其他分频倍数可以进行修改吗可以尝试一下总结规律

qcliu 发表于 2023-1-3 09:17

mcu021 发表于 2022-12-23 10:26
其实吧,只要仔细看下手册,就知道是为什么了。

也就是说 需要一定时间的延延时才可以正常操作

drer 发表于 2023-1-3 09:28

mcu021 发表于 2022-12-23 10:26
其实吧,只要仔细看下手册,就知道是为什么了。

需要在软件中设置一个循环一直判定这个标志位?

coshi 发表于 2023-1-3 09:39

mcu021 发表于 2022-12-23 10:26
其实吧,只要仔细看下手册,就知道是为什么了。

这个等待的时间和单片机的主频或者是时钟有关系吗

kxsi 发表于 2023-1-3 09:47

修改分频系数后需要等待生效后才可以输出波形

wiba 发表于 2023-1-3 10:19

哇咔咔 如果没有进行延时而直接选择输出的话 过一段时间之后是不是也可以正常输出了啊

vivilyly 发表于 2023-1-5 13:27

是要把波形配置到代码上的 吗?            

pentruman 发表于 2023-1-6 15:42

这个使用示波器测了一下。            

mattlincoln 发表于 2023-1-6 18:49

IO是否初始化了呢            

volbin0042 发表于 2023-1-9 13:30

测试结果
stcSysClk.u32WaitCycle    = SYSCTRL_FLASH_WAIT_CYCLE1;

stcSysClk.u32WaitCycle    = SYSCTRL_FLASH_WAIT_CYCLE2;
即可!
感谢 mcu021大佬 指导!
页: [1]
查看完整版本: 请教 HC32F002 修改分频数 SYSCTRL_RCH_DIV1 无波形输出 这是为何?