areak

    1. 是不是可以给我魔方了,:)
      nmg 发表于 2014-12-31 11:44 有网友给你回了,你试试,管用结一下帖子
    2. AD5933数据能够写入,但是无法读出,求解 8/6253 ADI参考电路 2014-12-31
        I2C_Send7bitAddress(I2C1, 0X1B, I2C_Direction_Transmitter);
        while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
      低级错误,这两句写错了。
      I2C_Direction_Transmitter-->I2C_Direction_Reciever
      I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED-->I2C_EVENT_MASTER_RECIRVER_MODE_SELECTED
      weizhongc 发表于 2014-12-31 16:00 什么问题啊
    3. 结贴,怎么结,没找到结贴选项
      nmg 发表于 2014-12-31 11:44 有网友给你回了,你试试,管用结一下帖子
    4. AD5933数据能够写入,但是无法读出,求解 8/6253 ADI参考电路 2014-12-31
      weizhongc 发表于 2014-12-31 11:04 硬件的I2C,要不你先用模拟的试下啊。不然你改下你的读取函数,是最后一个字节读取时不要ack。不是所有读取操作都不要ACK char I2C_Byte_Read(unsigned char reg_addr,unsigned char ack) {           char recieve_data;                  I2C_Pointer_Write(reg_addr);   while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));   /* Send START condition */   I2C_GenerateSTART(I2C1, ENABLE);   while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));   I2C_Send7bitAddress(I2C1, 0X1B, I2C_Direction_Transmitter);   while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));             /* Disable Acknowledgement */ if(ack)   I2C_AcknowledgeConfig(I2C1, DISABLE); else I2C_AcknowledgeConfig(I2C1, ENABLE);         recieve_data = I2C_ReceiveData(I2C1);   I2C_GenerateSTOP(I2C1, ENABLE);   /* Enable Acknowledgement to be ready for another reception */   I2C_AcknowledgeConfig(I2C1, ENABLE);         return recieve_data; }
      解决了,程序问题,谢谢
    5. AD5933数据能够写入,但是无法读出,求解 8/6253 ADI参考电路 2014-12-31
      已搞定,谢谢你
    6. AD5933数据能够写入,但是无法读出,求解 8/6253 ADI参考电路 2014-12-31
      怎么都没人回复的?
    7. 问下,问题怎么解决的,我这里读出来的数据也不对,不论打哪个地址,读出来的都是0X1。
    8. AD5933数据能够写入,但是无法读出,求解 8/6253 ADI参考电路 2014-12-30
      本帖最后由 areak 于 2014-12-30 18:42 编辑 void I2C_Pointer_Write(unsigned char reg_addr) {         while(I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY));         I2C_GenerateSTART(I2C1,ENABLE);         while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));                  I2C_Send7bitAddress(I2C1,0X1A,I2C_Direction_Transmitter);         while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));                  I2C_SendData(I2C1,0XB0);         while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));                  I2C_SendData(I2C1,reg_addr);         while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));                  I2C_GenerateSTOP(I2C1,ENABLE); } char I2C_Byte_Read(unsigned char reg_addr) {           char recieve_data;                  I2C_Pointer_Write(reg_addr);   while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));   /* Send START condition */   I2C_GenerateSTART(I2C1, ENABLE);   while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));   I2C_Send7bitAddress(I2C1, 0X1B, I2C_Direction_Transmitter);   while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));             /* Disable Acknowledgement */   I2C_AcknowledgeConfig(I2C1, DISABLE);         recieve_data = I2C_ReceiveData(I2C1);   I2C_GenerateSTOP(I2C1, ENABLE);   /* Enable Acknowledgement to be ready for another reception */   I2C_AcknowledgeConfig(I2C1, ENABLE);         return recieve_data; } 这是读AD5933的函数。
    9. 用过AD5933,AD8606,AD8422等芯片。 遇到的问题是AD5933可以通过I2C写入数据,但是读不出来,正在困惑中。。。。。 倾向于集成运放。
    10. AD8606是可以的,分压的目的是提高直流偏置,否则会造成波形的顶部或底部失真。 我问下你用STM32的I2C,还是用IO口模拟的I2C,我现在可以给AD5933写入命令,但是从AD5933读回来的数据不对,都是0X1A,不知道为什么,能不能给我看下你的I2C接收程序?
    11. 送给新手:STM32的时钟树解析 1394/180335 stm32/stm8 2014-12-10
      学习学习

最近访客

< 1/1 >

统计信息

已有4人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:11

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言