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

[复制链接]
633|7
 楼主| renyaq 发表于 2017-4-14 21:18 | 显示全部楼层 |阅读模式
怎样从PSoC 3/5 的 EEPROM 中读取数据?
supernan 发表于 2017-4-14 21:28 | 显示全部楼层
好热的天,好大的问题
houcs 发表于 2017-4-14 21:31 | 显示全部楼层
EEPROM处于PSoC3/5内存空间里,EEPROM的最大值容量是2 KB。通过SPC可以写EEPROM,而读EEPROM可以通过PHUB。此外,CPU或DMA都可以直接访问EEPROM数据。EEPROM的存储器的基本指针定义在ydevice.h 的CYDEV_EE_BASE。 该定义通过PHUB可以用来存取EEPROM数据。
 楼主| renyaq 发表于 2017-4-14 21:32 | 显示全部楼层

不要停
yinxiangh 发表于 2017-4-14 21:34 | 显示全部楼层

1.Reading EEPROM using CY_GET_REG8 API
  for (count = 0; count < 255;i++)
    EEPROM_Data[count] = CY_GET_REG8(CYDEV_EE_BASE + count);
pangb 发表于 2017-4-14 21:37 | 显示全部楼层

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];  
chenjunt 发表于 2017-4-14 21:40 | 显示全部楼层


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)
 楼主| renyaq 发表于 2017-4-14 21:42 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部