0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ASF的Atmel SAM D系列EEPROM快速上手指南详解

电子工程师 作者:工程师陈翠 2018-06-18 14:04 次阅读

在数据存储应用中,EEPROM用的非常广泛,以前常常需要在电路中外接一个EEPROM芯片,随着MCU技术的发展,EEPROM慢慢集成到了MCU内部,容量也越来越大,逐渐替代之前的单独EEPROM芯片,本帖将利用Atmel SAM D20 Xplained Pro ,对EEPROM 作出简单使用说明。

①关于Atmel Studio 7.0 的使用说明,工程建立,ASF软件库添加,请参考:

②添加以下ASF库

PORT - GPIO Pin Control(driver)

BOD - Brown Out Detector(driver)

EEPROM Emulator Service(driver)

基于ASF的Atmel SAM D系列EEPROM快速上手指南详解

③编写代码,示例代码如下:

#include

void configure_eeprom(void);

void configure_eeprom(void)

{

enum status_code error_code = eeprom_emulator_init();

if (error_code == STATUS_ERR_NO_MEMORY)

{

while (true);

}

else if (error_code != STATUS_OK)

{

eeprom_emulator_erase_memory();

eeprom_emulator_init();

}

}

void SYSCTRL_Handler(void)

{

if (SYSCTRL-》INTFLAG.reg & SYSCTRL_INTFLAG_BOD33DET) {

SYSCTRL-》INTFLAG.reg = SYSCTRL_INTFLAG_BOD33DET;

eeprom_emulator_commit_page_buffer();

}

}

static void configure_bod(void)

{

struct bod_config config_bod33;

bod_get_config_defaults(&config_bod33);

config_bod33.action = BOD_ACTION_INTERRUPT;

config_bod33.level = 48;

bod_set_config(BOD_BOD33, &config_bod33);

bod_enable(BOD_BOD33);

SYSCTRL-》INTENSET.reg = SYSCTRL_INTENCLR_BOD33DET;

system_interrupt_enable(SYSTEM_INTERRUPT_MODULE_SYSCTRL);

}

int main(void)

{

system_init();

configure_eeprom();

configure_bod();

uint8_t page_data[EEPROM_PAGE_SIZE];

eeprom_emulator_read_page(0, page_data);

page_data[0] = !page_data[0];

port_pin_set_output_level(LED_0_PIN, page_data[0]);

eeprom_emulator_write_page(0, page_data);

eeprom_emulator_commit_page_buffer();

page_data[1]=0x1;

eeprom_emulator_write_page(0, page_data);

while (1)

{

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Atmel
    +关注

    关注

    17

    文章

    310

    浏览量

    106554
收藏 人收藏

    评论

    相关推荐

    ModelSim快速上手指南

    ModelSim快速上手指南
    发表于 08-16 17:14

    资料推荐:nRF51822上手指南

    nRF51822上手指南
    发表于 06-12 13:48

    ModelSim快速上手指南

    ModelSim快速上手指南 快速上手四部曲:建立Project、引進HDL Files、Compile、模擬(Simulate/Loading and Run)
    发表于 05-08 17:29 0次下载

    Atmel SAM4L应用指南

    The Atmel SAM4L Xplained Pro evaluation kit is hardware platform to evaluate the ATSAM4LC4C microcontroller.
    发表于 09-12 17:52 10次下载

    Atmel SAM4S应用指南

      The Atmel SAM4S Xplained Pro evaluation kit is a hardware platform to evaluate the ATSAM4SD32C microcontroller.
    发表于 09-12 18:47 16次下载

    Atmel SAM D20应用指南

      The Atmel SAM D20 Xplained Pro evaluation kit is a hardware platform to evaluate the ATSAMD20J18 microcontroller.
    发表于 09-12 18:50 43次下载

    AS7.0中快速创建一个ASF项目的步骤详解

    使用ASF自带例程的方式创建程序是很方便,但是因为系统例程支持的ATMEL开发板往往和用户板配置不同,所以我们需要自己创建项目。下面介绍在AS7.0中快速创建一个ASF项目的方法。 首
    的头像 发表于 02-09 12:50 1676次阅读
    AS7.0中<b class='flag-5'>快速</b>创建一个<b class='flag-5'>ASF</b>项目的步骤<b class='flag-5'>详解</b>

    Atmel MCU 延时delay快速上手指南详解

    在MCU软件开发中,延时函数用的非常多,有的是硬件延时,采用定时器,有的是软件延时,采用循环等待,不管是采用什么样的方式,最终达到的目的都是一样,为系统功能、时序做铺垫,下面结合Atmel Studio 和ASF对延时函数delay进行说明,此软件库适用于所有
    的头像 发表于 06-18 05:31 5000次阅读
    <b class='flag-5'>Atmel</b> MCU 延时delay<b class='flag-5'>快速</b><b class='flag-5'>上手指南</b><b class='flag-5'>详解</b>

    视频:Atmel,Studio 6中的ASF设计部分(1)

    视频:Atmel,Studio 6中的ASF设计部分
    的头像 发表于 07-04 10:51 2187次阅读

    视频:Atmel,Studio 6中的ASF设计部分(5)

    视频:Atmel,Studio 6中的ASF设计部分(5)
    的头像 发表于 07-04 10:51 1733次阅读

    Atmel在HMI上展示了SAM9x5系列解决方案

    Atmel小贴士 Atmel 对HMI品展示的SAM9x5系列解决方案
    的头像 发表于 07-10 01:22 2437次阅读

    关于Atmel SAM9x5系列解决方案的介绍

    Atmel SAM9x5 系列解决方案
    的头像 发表于 07-10 01:11 2493次阅读

    如何使用Studio 66和ASF

    Atmel小贴士 如何使用Studio 66和ASF快速示例
    的头像 发表于 07-10 01:01 2482次阅读

    RT-Thread文档_Nordic BSP 上手指南

    RT-Thread文档_Nordic BSP 上手指南
    发表于 02-22 18:26 7次下载
    RT-Thread文档_Nordic BSP <b class='flag-5'>上手指南</b>

    RT-Thread文档_其他开发板 上手指南

    RT-Thread文档_其他开发板 上手指南
    发表于 02-22 18:27 0次下载
    RT-Thread文档_其他开发板 <b class='flag-5'>上手指南</b>