s3c2440芯片手册,s3c2440主频

  s3c2440芯片手册,s3c2440主频

  概述:话不多说,直接上图

  多主机工业互联网联盟总线控制(IICCON):

  工业互联网联盟控制总线状态(IICSTAT):

  工业互联网联盟总线地址(IICADD):

  工业互联网联盟发送,接收总线寄存器(IICDS)

  工业互联网联盟总线控制寄存器:

  源码如下:

  void Rd24C080(U32 slvAddr,U32 addr,U8 *data)

  {

  _ iicMode=SETRDADDR

  _ ii CPT=0;

  _ IIC数据[0]=(U8)addr;

  _ iicDataCount=1;rIICDS=slvAddr

  rIICSTAT=0xf0//MasTx,Start

  //不需要清除挂起位,因为挂起位已经被清除。

  while(_iicDataCount!=-1);_ iicMode=RDDATA

  _ ii CPT=0;

  _ iicDataCount=1;

  rIICDS=slvAddr

  rIICSTAT=0xb0//MasRx,开始

  rIICCON=0xaf//恢复工业互联网联盟操作。

  while(_iicDataCount!=-1);* data=_ IIC数据[1];

  } void Wr24C080(U32 slvAddr,U32 addr,U8数据)

  {

  _ iicMode=WRDATA

  _ ii CPT=0;

  _ IIC数据[0]=(U8)addr;

  _iicData[1]=数据;

  _ iicDataCount=2;

  rIICDS=slvAddr//0xa0

  rIICSTAT=0xf0//MasTx,Start

  //不需要清除挂起位,因为挂起位已经被清除。

  while(_iicDataCount!=-1);_ iicMode=波拉克

  while(1)

  {

  rIICDS=slvAddr

  _ iicStatus=0x100

  rIICSTAT=0xf0//MasTx,Start

  rIICCON=0xaf//恢复工业互联网联盟操作。

  while(_ IIC状态==0x 100);

  如果(!(_iicStatus0x1))

  打破;//当收到命令正确应答时

  }

  rIICSTAT=0xd0//停止MasTx条件

  rIICCON=0xaf//恢复工业互联网联盟操作。

  延迟(1);//等到停止条件生效。

  //写入完成。

  }

  无效测试_Iic(无效)

  {

  无符号int i,j,save_E,save _ PE

  静态U8数据[256];UART _ Printf( \ nIIC测试(中断)使用at24c 02 \ n’);

  save _ E=rGPECON

  save _ PE=rGPEUP

  rGPEUP =0xc000//上拉禁用

  rGPECON =0xa 00000//gpe 15:IICSDA,GPE14:IICSCL pISR_IIC=(无符号)IicInt

  rint MSK=~(BIT _ IIC);//使能ACK,预分频器IICCLK=PCLK/16,使能中断,发送时钟值Tx时钟=IICCLK/16

  //如果PCLK 50.7MHz,IICCLK=3.17MHz,Tx时钟=0.198兆赫

  rii ccon=(1 7)(0 6)(1 5)(0xf);rIICADD=0x10//2440从地址=[7:1]

  rIICSTAT=0x10//IIC总线数据输出使能(接收/发送)

  rii CLC=(1 ^ 2)(1);//滤波器使能朱诺增加15个时钟国家药品监督管理局输出延迟

  Uart_Printf(将测试数据写入at24c 02 \ n’);for(I=0;我我)

  Wr24C080(0xa0,(U8)i,I);

  for(I=0;我我)

  data[I]=0;Uart_Printf(从AT24C02读取测试数据\ n’);

  for(I=0;我我)

  Rd24C080(0xa0,(U8)i,(data[I]));//行更改了0f

  for(I=0;我我)

  {

  for(j=0;j j)

  Uart_Printf(%2x ,data[I * 16j]);

  UART _ Printf( \ n );

  }

  rint MSK =比特_ IIC;

  rGPEUP=save _ PE

  rGPECON=save _ E;

  }void main()

  {

  test _ Iic();

  }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: