硬汉嵌入式论坛

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

[有问必答] STM32L4 做电磁干扰实验时遇到的问题

[复制链接]

3

主题

4

回帖

13

积分

新手上路

积分
13
发表于 2023-2-16 17:05:22 | 显示全部楼层 |阅读模式
打到1KV以上程序就会卡死,keil仿真中看到卡在了图中的0x07FFFDCC的位置 df379a2c57625e4dbc4896bf9fc60edf.jpg
点击Show Caller Code跳到了下图
ca553a296220a80c95b2eb1146e1c271.jpg
试着搜了一下应该是这个位置
企业微信截图_16765382282582.png
后面就没有头绪了,难道HAL库的时钟初始化这么容易出错吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
发表于 2023-2-16 17:54:32 | 显示全部楼层
程序跑到0x07FFFDCC,说明已经跑飞了,Flash首地址0x0800 0000. 应该不是程序的问题。

如果觉得是这部分时钟的问题,可以考虑用其它硬件定时器实现,做个重定向,CubeMX可以方便生成重定向,这个也不行的话,手动修改为如下重定向试试:

[C] 纯文本查看 复制代码
/*
*********************************************************************************************************
*        函 数 名: HAL_InitTick
*        功能说明: 重定向,不使用
*        形    参: ----
*        返 回 值: 无
*********************************************************************************************************
*/
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{
        return HAL_OK;
}

uint32_t HAL_GetTick (void) 
{
        static uint32_t ticks = 0U;
        uint32_t i;
        
        for (i = (SystemCoreClock >> 14U); i > 0U; i--) 
        {
                __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP();
                __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP();
        }
        
        return ++ticks;
}

void HAL_Delay(uint32_t Delay)
{
        uint32_t tickstart = HAL_GetTick();
        uint32_t wait = Delay;
        
        if (wait < HAL_MAX_DELAY)
        {
                wait += (uint32_t)(HAL_TICK_FREQ_DEFAULT);
        }
        
        while((HAL_GetTick() - tickstart) < wait)
        {
                __NOP();
        }
}
回复

使用道具 举报

3

主题

4

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2023-2-17 13:13:15 | 显示全部楼层
早上测试了一下,HSI做时钟源是没问题的,HSE做时钟源 调40Mhz时钟频率也是没问题的,后续检查一下硬件
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 22:10 , Processed in 0.177418 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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