发 帖  
[问答]

STM32F429ZIT6的FLASH擦除读写失败的原因?

956 STM32F4 FlaSh

  • //定义要写入的数据和指向FLASH的指针
    int text[10]= {1,2,3,4,5,6,7,8,9,10};
    uint32_t *ID_card[10];

  • //将指针指向FLASH的地址位置
    for(int k=0;k<10;k++)
  • {
  •     *ID_card[k] = NULL;
  •     ID_card[k] = (uint32_t *)(0x08008000+(k*4));
  • }


  • //以下是循环读写擦除的代码
    while(1)
  •                                 {
  •     HAL_FLASH_Unlock();                                                                                                                                                                                                //FLASH解锁

  •     EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS;                           //只擦除模式
  •     EraseInitStruct.Sector = FLASH_PAGE_ID_CARD;                                                                                        //开头的闪存区
  •     EraseInitStruct.NbSectors = 1;                                                                                                                                                //擦1页
  •     EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3;                                                        //擦除电压在2.7-3.3V

  •     if(HAL_FLASHEx_Erase( EraseInitStruct,  PageError) != HAL_OK)                               //开始擦除页面
  •     {
  •         printf("存储区擦除失败rn");
  •     }

  •     for(int i=0;i<10;i++)
  •     {
  •         if(HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, FLASH_PAGE_ID_CARD + (i*4),text) !=HAL_OK)
  •          {
  •              printf("写入失败rn");
  •          }
  •      }

  •     for(int k=0;k<10;k++)
  •     {
  •         printf("原始数据为%d   ",text[k]);
  •         printf("%p位置数据为%drn",ID_card[k],*ID_card[k]);
  •     }

  •     HAL_FLASH_Lock();                                                                                                                                                                                                 //FLASH上锁

  •     HAL_Delay(5000);

  •     for(int i=0;i<10;i++)
  •     {
  •         text++;
  •     }
  •                                 }

    0
  • 2024-4-12 07:45:03   评论 分享淘帖 邀请回答 举报
    1个回答
    2024-4-12 14:44:20 评论

    举报

    只有小组成员才能发言,加入小组>>

    18100个成员聚集在这个小组

    加入小组

    创建小组步骤

    快速回复 返回顶部 返回列表
    关注微信公众号

    电子发烧友网

    电子发烧友论坛

    社区合作
    刘勇
    联系电话:15994832713
    邮箱地址:liuyong@huaqiu.com
    社区管理
    elecfans短短
    微信:elecfans_666
    邮箱:users@huaqiu.com
    关闭

    站长推荐 上一条 /9 下一条

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

    厂商专区

    飞凌嵌入式

    瑞萨单片机论坛

    米尔电子

    Aigtek安泰电子

    斯丹麦德电子

    芯佰微电子

    其利天下技术小组

    道生物联技术社区

    视美泰

    FCom富士晶振

    大大通

    合众恒跃

    进迭时空

    RT-Thread论坛

    EASY-EAI灵眸科技

    -

    技术社区

    张飞电子技术社区

    KaihongOS技术社区

    FPGA开发者技术社区

    RISC-V MCU技术社区

    HarmonyOS技术社区

    -

    OpenHarmony开源社区

    OpenHarmony开源社区

    -

    嵌入式论坛

    ARM技术论坛

    STM32/STM8技术论坛

    嵌入式技术论坛

    单片机/MCU论坛

    RISC-V技术论坛

    瑞芯微Rockchip开发者社区

    FPGA|CPLD|ASIC论坛

    DSP论坛

    -

    电路图及DIY

    电路设计论坛

    DIY及创意

    电子元器件论坛

    专家问答

    -

    电源技术论坛

    电源技术论坛

    无线充电技术

    -

    综合技术与应用

    机器人论坛

    USB论坛

    电机控制

    模拟技术

    音视频技术

    综合技术交流

    上位机软件(C/Python/Java等)

    -

    无线通信论坛

    WIFI技术

    蓝牙技术

    天线|RF射频|微波|雷达技术

    -

    EDA设计论坛

    PCB设计论坛

    DigiPCBA论坛

    Protel|AD|DXP论坛

    PADS技术论坛

    Allegro论坛

    multisim论坛

    proteus论坛|仿真论坛

    KiCad EDA 中文论坛

    DFM|可制造性设计论坛

    -

    测试测量论坛

    LabVIEW论坛

    Matlab论坛

    测试测量技术

    传感技术

    -

    招聘/交友/外包/交易/杂谈

    项目外包

    供需及二手交易

    工程师杂谈|交友

    招聘|求职|工程师职场

    -

    官方社区

    发烧友官方/活动

    华秋商城

    华秋电路

    +

    元器件搜索引擎

    元器件搜索引擎