[FPGA] ZYNQ SDK操作AR0144寄存器源码

[复制链接]
 楼主| feihufuture 发表于 2020-9-11 22:46 | 显示全部楼层 |阅读模式
本帖最后由 feihufuture 于 2020-9-11 22:49 编辑

FPGA操作AR0144毕竟不太灵活,但是如果是用SDK或者linux去访问,那就方便多了。
顺便研究了下ZYNQ的ARM的IIC控制器,根据开发板提供的例程,对相关函数进行修改。
AR0144的配置网上很多地方都有,不贴代码了,就贴两个关键的读写函数。

[payamount]49.00[/payamount]
[pay]
  1. //经测试发现:写的地址和数据都是先写高字节,再写低字节;但读出的数据,是高自己在eeprom_rbuf的低位!
  1. void read_eeprom(u16 addr)
  2. {
  3.         eeprom_wbuf[0]=addr>>8;
  4.         eeprom_wbuf[1]=addr;
  5.         I2cPs_write(&Iic,eeprom_wbuf, 2, EEPROM_ADDR);
  6.         I2cPs_read (&Iic,eeprom_rbuf, 2, EEPROM_ADDR);
  7. }


  8. void write_eeprom(u16 addr,u16 data)
  9. {
  10.         eeprom_wbuf[0]=addr>>8;
  11.         eeprom_wbuf[1]=addr;
  12.         eeprom_wbuf[2]=data>>8;
  13.         eeprom_wbuf[3]=data;
  14.         I2cPs_write(&Iic,eeprom_wbuf,4,EEPROM_ADDR);
  15.         //start write from eeprom_wbuf[0]
  16. }
  1. #define  EEPROM_ADDR  0x21>>1

  2. void eeprom_test();

  3. void read_eeprom(u16 addr);

  4. void write_eeprom(u16 addr,u16 data);


  5. u8 eeprom_rbuf[8];
  6. u8 eeprom_wbuf[8];

[/pay]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:WX:feihu612 免费合作开发ECAT主从站

171

主题

1029

帖子

101

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