你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L072RB写Bank2 EEPROM不响应中断

[复制链接]
fufufuchi 提问时间:2020-3-31 16:37 /
STM32L072RB有两个BANK, 搜狗截图20年03月31日1628_1.png
按参考手册的说法,在对一个Bank进行擦写的时候不会影响到另一个Bank的写。
搜狗截图20年03月31日1631_2.png
也就是说可以在写Bank2的EEPROM时可以响应中断(中断服务函数等都是放在Bank1的Flash中),对吗?
http://www.eemaker.com/stm32l0-eeprom-nvm.html这份帖子也是这么认为的。
但是我实际测试的时候发现写Bank2的EEPROM,串口RX中断会使MCU死机。
Why?????
int main(void)
{
  uint32_t primask_bit;
        uint32_t i;
        uint32_t *wAddr;
  /* Configure the system clock to 16 MHz */
  SystemClock_Config();

  /* Initialize LED2 */
  LED_Init();

  /* Set LED2 Off */
  LED_Off();

  /* Initialize button in EXTI mode */
  UserButton_Init();

  /* Configure USARTx (USART IP configuration and related GPIO initialization) */
  Configure_USART();
               
        primask_bit = __get_PRIMASK();
  __disable_irq();
        FLASH->PEKEYR = FLASH_PEKEY1;
  FLASH->PEKEYR = FLASH_PEKEY2;
  __set_PRIMASK(primask_bit);
               
  /* Infinite loop */
  while (1)
  {
                wAddr=(uint32_t *)(DATA_EEPROM_BANK2_BASE);
                LL_mDelay(1000);
                LED_On();
                for(i=0;i<100;i++)
                {               
                        *wAddr++=0x99887766;
                }
                LED_Off();
  }
}

收藏 评论13 发布时间:2020-3-31 16:37

举报

13个回答
fufufuchi 回答时间:2020-4-1 11:34:11
请大神们支援
pxforever 回答时间:2020-4-1 15:11:00
抱歉,首先你得注意了,有一句别忽略了,就是在flash中,若你写的ROM区域,该内存数值非FF时,会报硬件错误。所以,你的代码操作实在过于不严谨。操作flash是一次一个section,并且在操作时应先erase,再写入。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

yklstudent-1794 回答时间:2020-4-1 16:49:12
EEPROM写数据是像你这么写的?
fufufuchi 回答时间:2020-4-1 17:28:19
yklstudent-1794 发表于 2020-4-1 16:49
EEPROM写数据是像你这么写的?

没问题吧
fufufuchi 回答时间:2020-4-1 17:35:45
pxforever 发表于 2020-4-1 15:11
抱歉,首先你得注意了,有一句别忽略了,就是在flash中,若你写的ROM区域,该内存数值非FF时,会报硬件错误 ...

我写的地址是EEPROM
pxforever 回答时间:2020-4-1 18:27:23
可以看到,在写入eerom前,至少做状态检测才写入的。
1585736743(1).jpg

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

fufufuchi 回答时间:2020-4-2 08:44:47
大神们,麻烦支援一下,感激不尽
fufufuchi 回答时间:2020-4-2 14:11:50
pxforever 发表于 2020-4-1 18:27
可以看到,在写入eerom前,至少做状态检测才写入的。

谢谢大神!
pxforever 回答时间:2020-4-2 20:23:18
可以了?
12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版