打印

怎样从PSoC 3/5 的 EEPROM 中读取数据

[复制链接]
1294|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huigoushang|  楼主 | 2013-4-14 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样从PSoC 3/5 的 EEPROM 中读取数据?下面就从EEPROM说起。EEPROM处于PSoC3/5内存空间里,EEPROM的最大值容量是2 KB。通过SPC可以写EEPROM,而读EEPROM可以通过PHUB。此外,CPU或DMA都可以直接访问EEPROM数据。EEPROM的存储器的基本指针定义在ydevice.h 的CYDEV_EE_BASE。 该定义通过PHUB可以用来存取EEPROM数据。
Example to read first 255 bytes from EEPROM and store to array.

1.Reading EEPROM using CY_GET_REG8 API
  for (count = 0; count < 255;i++)
    EEPROM_Data[count] = CY_GET_REG8(CYDEV_EE_BASE + count);

2.Reading EEPROM using data Pointer                                    
A pointer can be defined for the EEPROM address as follows:
  #define EEPROM_ADDR (unsigned char *) CYDEV_EE_BASE
  for (count = 0; count < 255; i++)
    EEPROM_Data[count] = EEPROM_ADDR[count];  

3.Reading using DMA
The same base address can be used while reading using DMA.
  MyCh = DMA_DmaInitialize(0,0,0,0);
  MyTd = CyDmaTdAllocate();
  CyDmaTdGetConfiguration(MyTd, 255, DMA_INVALID_TD, (TD_INC_SRC_ADR |    TD_INC_DST_ADR));
  CyDmaTdSetAddress(MyTd, (uint16) CYDEV_EE_BASE, (uint16) EEPROM_Data)
沙发
someontime| | 2013-4-14 19:27 | 只看该作者
受教了,多谢楼主分享

使用特权

评论回复
板凳
specialfrin| | 2013-4-14 19:47 | 只看该作者
up!都说到点上了

使用特权

评论回复
地板
justbybing| | 2013-4-14 19:48 | 只看该作者
这个问题困扰我好久了

使用特权

评论回复
5
lyl_420819| | 2015-9-6 19:49 | 只看该作者
受教了,多谢楼主分享

使用特权

评论回复
6
walen918| | 2017-8-30 16:38 | 只看该作者
请问楼主,如何写EEPROM和Flash呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

168

主题

1677

帖子

1

粉丝