• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
返回

电子发烧友 电子发烧友

  • 全文搜索
    • 全文搜索
    • 标题搜索
  • 全部时间
    • 全部时间
    • 1小时内
    • 1天内
    • 1周内
    • 1个月内
  • 默认排序
    • 默认排序
    • 按时间排序
大家还在搜
  • STM32 flash擦除错误的问题临时解决措施

    STM32 Flash擦除错误故障现象解决办法故障现象我们研发的设备,在擦除0x0800FC00这一配置页时,发现0x0800E800的数据也会被擦除掉。在

    2021-12-02 10:36

  • STM32 Flash擦除错误故障现象解决办法

    STM32 Flash擦除错误故障现象解决办法故障现象我们研发的设备,在擦除0x0800FC00这一配置页时,发现0x0800E800的数据也会被擦除掉。在

    2022-01-26 07:12

  • CYBY-343026-01芯片擦除错误怎么解决?

    恢复模式,但仍然收到芯片擦除超时错误。 重置命令/回复正常, minidriver 下载成功, 模块对芯片擦除序列的回复:01 CE FF 04 00 00 00 FF 是一个字节:0x58 我在论坛上查找了类似的

    2025-06-26 06:41

  • 程序中,出现错误,怎么才能消除错误继续执行?

    程序中,出现错误,怎么才能消除错误继续执行?

    2015-08-10 18:13

  • 解决stm32f103同一个扇区flash只能擦除一次,再次擦除报FLASH_ERROR_PG错误问题

    项目中用到stm32内部flash存储一些系统运行数据,每次上电重新加载保存的数据。早先用法如下图所示,擦除之前每次要关闭总中断,解锁flash,擦除对应扇区,然后写入数据

    2021-12-02 11:51

  • UCOSIII中消息队列删除错误是为什么?

    times = OSQFlush((OS_Q*)&Auto_92Q,&err); //清空消息队列Auto_92Q是已经建立好的消息队列。发现返回值是 删除错误, 为什么哈?

    2020-04-24 04:36

  • 武汉新芯集成电路“存储器及擦除技术”专利公开发布

    该发明揭示了一种新的存储器擦除技术,其独特之处在于首先接收到擦除指令,然后再评估擦除错误位置和地址是否满足擦除要求。如果确认为条件符合则启动

    2024-02-23 10:01

  • STM32擦除内部FLASH时间过长导致IWDG复位

    STM32擦除内部FLASH时间过长导致IWDG复位(嵌入式开发一般采用什么方式?)-客户反馈在使用STM32F412的时候,擦除sector 8~11发现时间过长,从

    2021-07-30 11:06

  • 怎么擦除stm32单片机里面的程序呢?

    怎么擦除stm32单片机里面的程序呢? 要擦除STM32单片机内部的程序,需要以下步骤: 1. 准备工具和设备 要擦除

    2023-09-14 14:22

  • FMC_Erase擦除错误的原因?怎么解决?

    请问大家,为什么FMC_Erase返回总是-1,主函数中PE0,PE1,PE2是我的三个按键,我主要是想实验对flash的擦写,将数据存到flash中,实现掉电数据不丢失,但现在一个插除页都是失败的,还请大家解惑。 #include #include \"Nano100Series.h\" #define DATA_FLASH_TEST_BASE 0x12400; int32_t u32Addr = DATA_FLASH_TEST_BASE; uint32_t u32Pattern = 0xA5A5A5A5; uint32_t u32data; void dataflash_test() { SYS_UnlockReg(); FMC_Open(); FMC_Erase(u32Addr); if(FMC_Erase(u32Addr)==-1) { printf(\"erase--error\\r\\n\"); } FMC_Write(u32Addr, u32Pattern); u32data = FMC_Read(u32Addr); if (u32data != u32Pattern) { printf(\"data different\"); } printf(\"one--u32pattern--%x\\r\\n\",u32Pattern); printf(\"one--dihzi--%x\\r\\n\",&u32Addr); printf(\"one--u32data--%x\\r\\n\",u32data); printf(\"one--dizhi--%x\\r\\n\",&u32data); FMC_Write(u32Addr+4, u32Pattern); u32data = FMC_Read(u32Addr+4); if (u32data != u32Pattern) { printf(\"data error-----u32addr+4\\r\\n\"); } printf(\"two----%x----u32pattern\\r\\n\",u32Pattern); printf(\"two----%x----dizhi\\r\\n\",&u32Addr); printf(\"two----%x----u32data\\r\\n\",u32data); printf(\"two----%x----dizhi\\r\\n\",&u32data); SYS_LockReg(); } void dataflash_test_read() { u32data = FMC_Read(u32Addr); printf(\"one--u32data--%x\\r\\n\",&u32Addr); printf(\"one--u32data--%x\\r\\n\",&u32data); } void SYS_Init(void) { SYS_UnlockReg(); CLK_EnableXtalRC(CLK_PWRCTL_HIRC_EN_Msk); CLK_WaitClockReady( CLK_CLKSTATUS_HIRC_STB_Msk); CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC,CLK_HCLK_CLK_DIVIDER(1)); CLK_EnableModuleClock(UART0_MODULE); CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_UART_CLK_DIVIDER(1)); SystemCoreClockUpdate(); SYS->PA_H_MFP &= ~(SYS_PA_H_MFP_PA14_MFP_Msk|SYS_PA_H_MFP_PA15_MFP_Msk); SYS->PA_H_MFP |=(SYS_PA_H_MFP_PA14_MFP_UART0_RX|SYS_PA_H_MFP_PA15_MFP_UART0_TX); SYS_LockReg(); } int main(void) { SYS_Init(); UART_Open(UART0, 115200); while(1) { if(PE1==0) { CLK_SysTickDelay(100); if(PE1==0) { ; } while(PE1==0); dataflash_test(); } if(PE0==0) { CLK_SysTickDelay(100); if(PE0==0) { ; } while(PE0==0); dataflash_test_read(); } if(PE2==0) { CLK_SysTickDelay(100); if(PE2==0) { ; } while(PE2==0); NVIC_SystemReset(); } } }

    2023-06-27 06:56