yklstudent-1794 发表于 2020-4-5 17:15:17

fufufuchi 发表于 2020-4-1 17:28
没问题吧

/* 芯片内部EEPROM地址数据写操作 */
bool sST_EEPROM_WriteBytes(uint16_t addr, uint8_t *buffer, uint16_t length)
{
        bool result = true;
        uint8_t *address;
       
        if( (addr + length) > ST_EEPROM_BYTE_SIZE)
        {
                return false;
        }
       
        address = (uint8_t *)(ST_EEPROM_BASE_ADDR + addr);
       
        DIS_INT();
       
        /* unlock */
        FLASH->PEKEYR = FLASH_PEKEY1;
        FLASH->PEKEYR = FLASH_PEKEY2;
        while(FLASH->PECR & FLASH_PECR_PELOCK);
        for(; length > 0; length--)
        {
                *address++ = *buffer++;
                while(FLASH->SR & FLASH_SR_BSY);
        }
        /* lock */
        FLASH->PECR |= FLASH_PECR_PELOCK;
       
        EN_INT();
       
        return result;
}
你试试这样的

butterflyspring 发表于 2020-4-8 17:32:09

对于EEPROM的编程,手册是有一定要求的,不应该连续写入的。

fufufuchi 发表于 2020-4-18 10:59:39

pxforever 发表于 2020-4-2 20:23
可以了?

可以了

likang1202 发表于 2020-4-18 11:27:08

顶一顶
页: 1 [2]
查看完整版本: STM32L072RB写Bank2 EEPROM不响应中断