硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3376|回复: 3
收起左侧

429 IO补偿使能 造成 仿真器无法正常使用

[复制链接]

86

主题

446

回帖

724

积分

金牌会员

积分
724
QQ
发表于 2020-9-8 11:29:01 | 显示全部楼层 |阅读模式
在APP程序中 在 void SystemClock_Config(void) 中调用
HAL_EnableCompensationCell();
后 造成仿真器无法打断点  时钟初始化不正常  去掉后就好了。

/*
*********************************************************************************************************
*        函 数 名: SystemClock_Config
*        功能说明: 初始化系统时钟
*                    System Clock source            = PLL (HSE)
*                    SYSCLK(Hz)                     = 168000000 (CPU Clock)
*                    HCLK = SYSCLK / 1              = 168000000 (AHB1Periph)
*                    PCLK2 = HCLK / 2               = 84000000  (APB2Periph)
*                    PCLK1 = HCLK / 4               = 42000000  (APB1Periph)
*                    HSE Frequency(Hz)              = 25000000
*                   PLL_M                          = 25
*                    PLL_N                          = 336
*                    PLL_P                          = 2
*                    PLL_Q                          = 4
*                    VDD(V)                         = 3.3
*                    Flash Latency(WS)              = 5
*        形    参: 无
*        返 回 值: 无
*********************************************************************************************************
*/
static void SystemClock_Config(void)
{
        RCC_ClkInitTypeDef RCC_ClkInitStruct;
        RCC_OscInitTypeDef RCC_OscInitStruct;

        
        /* 芯片内部的LDO稳压器输出的电压范围,选用的PWR_REGULATOR_VOLTAGE_SCALE1 */
        __HAL_RCC_PWR_CLK_ENABLE();
        __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);

        /* 使能HSE,并选择HSE作为PLL时钟源 */
        RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
        RCC_OscInitStruct.HSEState = RCC_HSE_ON;
        RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
        RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
        RCC_OscInitStruct.PLL.PLLM = 25;
        RCC_OscInitStruct.PLL.PLLN = 336;
        RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
        //RCC_OscInitStruct.PLL.PLLQ = 4;
        RCC_OscInitStruct.PLL.PLLQ = 7;
        if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
        {
        Error_Handler(__FILE__, __LINE__);
        }

        /*
       选择PLL的输出作为系统时钟
                HCLK = SYSCLK / 1  (AHB1Periph)
                PCLK2 = HCLK / 2   (APB2Periph)
                PCLK1 = HCLK / 4   (APB1Periph)
    */
        RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                                                                  |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
        RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
        RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
        RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
        RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;

        /* 此函数会更新SystemCoreClock,并重新配置HAL_InitTick */
        if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
        {
        Error_Handler(__FILE__, __LINE__);
        }

    /* 使能SYS时钟和IO补偿 */
        __HAL_RCC_SYSCFG_CLK_ENABLE() ;


  //HAL_EnableCompensationCell();  这句去掉就好了
}

武汉天纵鹏元科技有限公司。承接嵌入式项目开发,相关技术交流。STM32,物联网,工业控制方向。QQ  408137104
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2020-9-9 01:30:43 | 显示全部楼层
估计还是工程有点问题。

特别是驱动外的GPIO的速度等级设置上。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2020-9-9 01:31:20 | 显示全部楼层
补充两个帖子:

STM32H7开启IO补偿单元和关闭补偿单元,GPIO配置不同速度等级的最高速度
https://forum.anfulai.cn/forum.p ... 7677&fromuid=58
(出处: 硬汉嵌入式论坛)


最近才发现F429也有IO补偿功能,当GPIO速度等级配置为50MHz及其以上,使能后可提高波形质量
https://forum.anfulai.cn/forum.p ... 7494&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

86

主题

446

回帖

724

积分

金牌会员

积分
724
QQ
 楼主| 发表于 2020-9-9 11:04:28 | 显示全部楼层
eric2013 发表于 2020-9-9 01:30
估计还是工程有点问题。

特别是驱动外的GPIO的速度等级设置上。

有空我在查查看
武汉天纵鹏元科技有限公司。承接嵌入式项目开发,相关技术交流。STM32,物联网,工业控制方向。QQ  408137104
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 04:52 , Processed in 0.048022 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表