西安饮食 2024-08-09 16:40 采纳率: 0%
浏览 2

STM32H7D1STANDBY之后下载不了程序


        uint32_t tmpreg = 0;
        tmpreg = PWR->CR1;        
        tmpreg &= (uint32_t)~(PWR_CR1_LPDS);
        tmpreg |= PWR_MAINREGULATOR_ON;
        PWR->CR1 = tmpreg;
        
        MODIFY_REG(PWR->CR1, PWR_CR1_SVOS, PWR_REGULATOR_SVOS_SCALE5);    //VOS等级
        CLEAR_BIT(PWR->CR1, PWR_CR1_FLPS);                                //flash on

        SET_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D1);                            //D1_Standby
        CLEAR_BIT(PWR-> CPUCR, PWR_CPUCR_PDDS_D2);                        //D2STOP
        CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D3);                        //D3STOP

        SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
        __DSB();
        __ISB();    
        __WFI();                                                        //进入停机模式
        SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);

stm32h743II,在主函数里烧录了这个程序,然后芯片下载不了东西了。BOOT接1按住复位点下载的方法也没用,请问怎么才能让芯片下程序

  • 写回答

1条回答 默认 最新

  • 清水白石008 2024-08-09 16:43
    关注
    🕒下午好,题主!目前:🟢[在线]
    📢参考GPT-4o mini 模型、由清水白石008整理提供!
    📣今日金句:"每一天都是一个新的开始,抓住它,追求你的梦想。"
    

    从您提供的代码来看,您的 STM32H7D1 芯片进入了 Standby 模式。在 Standby 模式下,芯片的大部分功能都被关闭,包括 Flash 和 RAM,这就导致无法下载程序。

    要解决这个问题,您需要先将芯片从 Standby 模式唤醒,然后再尝试下载程序。具体步骤如下:

    1. 断开芯片电源,等待几秒钟。
    2. 按住复位按钮,然后重新给芯片上电。
    3. 在复位按钮按下的状态下,尝试下载程序。

    如果这样还是无法下载程序,您可以尝试以下方法:

    1. 检查 BOOT 引脚的连接是否正确。确保 BOOT 引脚被拉高或拉低,以进入正确的启动模式。
    2. 检查 NRST 引脚的连接是否正确。确保 NRST 引脚能够正常工作。
    3. 尝试使用 ST-Link 等编程器直接对芯片进行编程,而不是通过 IDE 下载。
    4. 如果以上方法都无法解决问题,您可能需要检查芯片本身是否有问题,或者联系芯片制造商寻求技术支持。

    总之,要解决 STM32H7D1 芯片在 Standby 模式下无法下载程序的问题,需要先将芯片唤醒,然后检查硬件连接和编程工具的设置。如果问题仍然无法解决,您可能需要进一步排查硬件和软件问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月9日

悬赏问题

  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥15 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?