打印

EEPROM 中读取数据

[复制链接]
1411|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2015-8-15 18:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样从PSoC 3/5 的 EEPROM 中读取数据?
沙发
lium| | 2015-8-15 18:19 | 只看该作者
好热的天,好大的问题

使用特权

评论回复
板凳
guoyt| | 2015-8-15 18:20 | 只看该作者
EEPROM处于PSoC3/5内存空间里,EEPROM的最大值容量是2 KB。通过SPC可以写EEPROM,而读EEPROM可以通过PHUB。此外,CPU或DMA都可以直接访问EEPROM数据。EEPROM的存储器的基本指针定义在ydevice.h 的CYDEV_EE_BASE。 该定义通过PHUB可以用来存取EEPROM数据。

使用特权

评论回复
地板
zhanglli|  楼主 | 2015-8-15 18:23 | 只看该作者
不要停

使用特权

评论回复
5
guoyt| | 2015-8-15 18:23 | 只看该作者

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

使用特权

评论回复
6
guoyt| | 2015-8-15 18:23 | 只看该作者

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];  

使用特权

评论回复
7
guoyt| | 2015-8-15 18:24 | 只看该作者

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)

使用特权

评论回复
8
zhanglli|  楼主 | 2015-8-15 18:24 | 只看该作者
嗯,晓得了, 多谢

使用特权

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

本版积分规则

1016

主题

9386

帖子

1

粉丝