搜索
bottom↓
回复: 21

RX8025T 无应答, 怎么回事啊?

[复制链接]

出0入0汤圆

发表于 2014-7-14 16:43:48 | 显示全部楼层 |阅读模式
大侠们好,我的i2c上接的at24c64读写都非常的好,

就是rx8025t 发送0x64 ( 应该是给rx8025t发送数据后就没有应答了 ) 后就没有反应了,

纠结

rx8025t 的第五脚接高电平了

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出10入23汤圆

发表于 2014-7-14 19:22:50 | 显示全部楼层
QN8025???/???/

出0入0汤圆

 楼主| 发表于 2014-7-14 20:02:30 | 显示全部楼层

rx8025, 不过已经搞定了,原来是搞硬件的工程师吧此芯片的第12脚接高电平了,只要悬空此脚就可以了,

出0入0汤圆

发表于 2014-7-15 09:33:14 | 显示全部楼层
分享的很好,以后别出错了

出0入46汤圆

发表于 2014-9-5 10:23:45 | 显示全部楼层
楼主你好,可以把你的程序共享一下吗,rx8025t 发送0x64 ( 应该是给rx8025t发送数据后就没有应答了 ) 后就没有反应了,烦死了

出0入0汤圆

 楼主| 发表于 2014-9-5 17:19:31 | 显示全部楼层
工程师030 发表于 2014-9-5 10:23
楼主你好,可以把你的程序共享一下吗,rx8025t 发送0x64 ( 应该是给rx8025t发送数据后就没有应答了 ) 后就 ...


祝你好运,

rx8025t的第12脚接地或者悬空,切记!!!

#ifndef __IIC_H
#define __IIC_H


#include "stm32f2xx.h"


#include "stm32f2xx_gpio.h"

#ifndef OFF
#define OFF 0L
#endif


#ifndef ON
#define ON 1L
#endif


extern I2C_InitTypeDef I2C_InitStructure;



#define I2C_PageSize                  (32)
#define I2C_MAX_PAGE_NUM         (I2C_MAX_ADDR / I2C_PageSize)
#define MEM_SIZE                      (0x1fff)

#define I2C_MAX_ADDR         ((MEM_SIZE+1)*DEV_24CXX_NUM-1)    //最大寻址范围

// Private define ------------------------------------------------------------
#define I2C_START_READ                    0x01
#define EEPROM_ADDRESS                 0xA0


#define I2C_TIME                ((u32)40960)


//  #define I2C_SPEED (350000)

#define I2C_SPEED (300000)
#define I2C_DUTYCYCLE I2C_DutyCycle_2

  
  void I2C_UserInit(I2C_TypeDef* I2Cx);
  


u8 RTC_ByteWrite(I2C_TypeDef* I2Cx, u8* pBuffer, u8 SlaveAddr, u8 WriteAddr);
u8 RTC_PageWrite(I2C_TypeDef* I2Cx, u8* pBuffer, u8 SlaveAddr, u8 WriteAddr, u16 NumByteToWrite);
u8 RTC_BufferRead(I2C_TypeDef* I2Cx, u8* pBuffer, u8 SlaveAddr, u8 ReadAddr, u16 NumByteToRead);

#endif


iic.c



#include "iic.h"
#include "stm32f2xx_i2c.h"

#include "usart.h"


I2C_InitTypeDef I2C_InitStructure;

vu32 I2C_TimeCnt;


/*******************************************************************************
* Function Name  : Delay_Ms  stm32f2xx  120MHz
* Description    : delay 1 ms.
* Input          : time (ms)
* Output         : None
* Return         : None
*******************************************************************************/

void delay_ms(u16 time)  //延时函数
{
        u16 i,j;
        for(i=0;i<time;i++)
                  for(j=0;j<20000;j++)
                    ;
}




/* Maximum number of trials for sEE_WaitEepromStandbyState() function */
#define sEE_MAX_TRIALS_NUMBER     300

void I2C_GPIO_Configuration(I2C_TypeDef* I2Cx)
{
        GPIO_InitTypeDef GPIO_InitStruct;
       
        if(I2C1 == I2Cx)
        {
                RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);

                //配置复用管脚SCL(PB8) 和 SDA(PB9)连接到I2Cx
                GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_I2C1);                //SCL               
                GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_I2C1);                //SDA       

                GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
                GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
                GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
                GPIO_Init(GPIOB, &GPIO_InitStruct);  
        }  
       
       
        //---------- I2C EE24C64 WP
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(GPIOB, &GPIO_InitStruct);         
       
        //GPIO_SetBits(GPIOB, GPIO_Pin_5);                        //禁止写
       
        GPIO_ResetBits(GPIOB, GPIO_Pin_5);                        //允许读/写
       
}



void I2C_Configuration(I2C_TypeDef* I2Cx)
{
        if(I2C1 == I2Cx)
        {
                RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
                I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED;         // 该参数用来设置时钟频率
                I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;            // 设置I2C为I2C模式 ;
                I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;    // I2C快速模式Tlow / Thigh = 2 ;
                I2C_InitStructure.I2C_OwnAddress1 = I2C_START_READ;   //作为从机时的地址1
                I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;           // 用来设置第一个设备自身地址
                I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;     // 应答7位地址 ;

                I2C_Cmd(I2Cx, ENABLE);                    // 使能I2Cx外设 ;
                I2C_Init(I2Cx, &I2C_InitStructure);              // 初始化外设I2Cx寄存器 ;

                //I2C_AcknowledgeConfig(I2Cx, ENABLE);    //允许1字节1应答模式
        }           
}


void I2C_UserInit(I2C_TypeDef* I2Cx)
{
    I2C_GPIO_Configuration(I2Cx);
    I2C_Configuration(I2Cx);
}



static u8 I2Cx_FlagBusy(I2C_TypeDef* I2Cx)
{
        I2C_TimeCnt = I2C_TIME;
  while(I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY))
  {
                if((I2C_TimeCnt--) == 0)
                        return ERROR;       
  }
   
  return SUCCESS;
}


static u8 I2Cx_MasterModeSelectEv5(I2C_TypeDef* I2Cx)
{
        I2C_TimeCnt = I2C_TIME;
        while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT))
  {
                if((I2C_TimeCnt--) == 0)
                        return ERROR;       
  }
   
  return SUCCESS;
}


static u8 I2Cx_MasterTranModeSelectEv6(I2C_TypeDef* I2Cx)
{
        I2C_TimeCnt = I2C_TIME;               
        while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))
  {
                if((I2C_TimeCnt--) == 0)
                        return ERROR;
  }
  return SUCCESS;
}


static u8 I2Cx_MasterReceiverModeSelectionEv6(I2C_TypeDef* I2Cx)
{
  I2C_TimeCnt = I2C_TIME;
  while(!I2C_CheckEvent(I2Cx,I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED))
  {
    if((I2C_TimeCnt--) == 0)
      return ERROR;               
  }
  return SUCCESS;
}


static u8 I2Cx_MasterByteTranEv8(I2C_TypeDef* I2Cx)
{
  I2C_TimeCnt = I2C_TIME;
  while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTING))
  {
    if((I2C_TimeCnt--) == 0)
       return ERROR;
  }
  return SUCCESS;
}






//------------------------- RTC -------------------------
//------------------------- RTC -------------------------
//------------------------- RTC -------------------------
u8 RTC_ByteWrite(I2C_TypeDef* I2Cx, u8* pBuffer, u8 SlaveAddr, u8 WriteAddr)

{
        if(I2Cx_FlagBusy(I2Cx) == ERROR)
                return ERROR;       

        I2C_GenerateSTART(I2Cx, ENABLE);
        if((I2Cx_MasterModeSelectEv5(I2Cx)) == ERROR)
        {
                return ERROR;               
        }

        I2C_Send7bitAddress(I2Cx, (u8)(SlaveAddr & 0xfe), I2C_Direction_Transmitter);
        if((I2Cx_MasterTranModeSelectEv6(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }      

        I2Cx->DR = (u8)(WriteAddr);
        if((I2Cx_MasterByteTranEv8(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }  

        //--------------------------------------------------------------------
        //Send the byte to be written
        I2Cx->DR = *pBuffer;
        if((I2Cx_MasterByteTranEv8(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }

        I2C_GenerateSTOP(I2Cx, ENABLE);

        delay_ms(8);
        return SUCCESS;
}



u8 RTC_PageWrite(I2C_TypeDef* I2Cx, u8* pBuffer, u8 SlaveAddr, u8 WriteAddr, u16 NumByteToWrite)

{
        if(I2Cx_FlagBusy(I2Cx) == ERROR)
                return ERROR;          

        I2C_GenerateSTART(I2Cx, ENABLE);   
        if((I2Cx_MasterModeSelectEv5(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }

        I2C_Send7bitAddress(I2Cx, (SlaveAddr & 0xfe), I2C_Direction_Transmitter);
        if(I2Cx_MasterTranModeSelectEv6(I2Cx) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }         
               
        I2Cx->DR = (u8)(WriteAddr);
        if((I2Cx_MasterByteTranEv8(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }

        while(NumByteToWrite--)             //While there is data to be written
        {
                I2Cx->DR = *pBuffer;
                pBuffer++;                     

                if((I2Cx_MasterByteTranEv8(I2Cx)) == ERROR)
                        return ERROR;
        }

        I2C_GenerateSTOP(I2Cx, ENABLE);  
        //delay_ms(5);   
        return SUCCESS;
}


u8 RTC_BufferRead(I2C_TypeDef* I2Cx, u8* pBuffer, u8 SlaveAddr, u8 ReadAddr, u16 NumByteToRead)

{  
        if(I2Cx_FlagBusy(I2Cx) == ERROR)
                return ERROR;

        I2C_GenerateSTART(I2Cx, ENABLE);
        if((I2Cx_MasterModeSelectEv5(I2Cx)) == ERROR)  
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }


        I2Cx->DR = (u8)(SlaveAddr & 0xfe);      
        if(I2Cx_MasterTranModeSelectEv6(I2Cx) == ERROR)   
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }               

        I2C_Cmd(I2Cx, ENABLE);              // Clear EV6 by setting again the PE bit


        I2Cx->DR = (u8)(ReadAddr);
        if((I2Cx_MasterByteTranEv8(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }

        I2C_GenerateSTOP(I2Cx, ENABLE);        


        //--------------------------------------------------------------------------------
        //--------------------------------------------------------------------------------
        //--------------------------------------------------------------------------------

        I2C_GenerateSTART(I2Cx, ENABLE);
        if((I2Cx_MasterModeSelectEv5(I2Cx)) == ERROR)
                return ERROR;       


        I2Cx->DR = (u8)((SlaveAddr & 0xfe) | I2C_START_READ);
        if((I2Cx_MasterReceiverModeSelectionEv6(I2Cx)) == ERROR)
        {
                I2C_GenerateSTOP(I2Cx, ENABLE);
                return ERROR;               
        }

        //if((I2Cx_MasterByteReceivedEv7(I2Cx)) == ERROR)
        //        return ERROR;


        while(NumByteToRead)      //While there is data to be read
        {
                if(NumByteToRead == 1)   
                {
                        I2C_AcknowledgeConfig(I2Cx, DISABLE);
                        I2C_GenerateSTOP(I2Cx, ENABLE);
                }

                if(I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_RECEIVED))
                {      
                        *pBuffer = I2Cx->DR;      
                        pBuffer++;
                        NumByteToRead--;     
                        I2C_AcknowledgeConfig(I2Cx, ENABLE);   
                }   
        }
       
        I2C_GenerateSTOP(I2Cx, ENABLE);
        return SUCCESS;
}









/******************************************************************************************************
文件名:HardRTC.c
描述:硬时钟总线的子程序。
*****************************************************************************************************/

#include <includes.h>

#include "rt8025rtc.h"
#include "bsp.h"

#include "iic.h"



//设置固定周期报警时间
#define SET_PERIOD_TIME           60 //以秒为单位,范围:0-250秒
/**
  * @brief  I2C port definitions  
  */
#define IOE_I2C                          I2C1
#define IOE_I2C_CLK                      RCC_APB1Periph_I2C1
#define IOE_I2C_SCL_PIN                  GPIO_Pin_6
#define IOE_I2C_SCL_GPIO_PORT            GPIOB
#define IOE_I2C_SCL_GPIO_CLK             RCC_AHB1Periph_GPIOB
#define IOE_I2C_SCL_SOURCE               GPIO_PinSource6
#define IOE_I2C_SCL_AF                   GPIO_AF_I2C1
#define IOE_I2C_SDA_PIN                  GPIO_Pin_9
#define IOE_I2C_SDA_GPIO_PORT            GPIOB
#define IOE_I2C_SDA_GPIO_CLK             RCC_AHB1Periph_GPIOB
#define IOE_I2C_SDA_SOURCE               GPIO_PinSource9
#define IOE_I2C_SDA_AF                   GPIO_AF_I2C1
#define IOE_I2C_DR                       ((uint32_t)0x40005410)

#define IOE_DMA_CLK                      RCC_AHB1Periph_DMA1
#define IOE_DMA_CHANNEL                  DMA_Channel_1
#define IOE_DMA_TX_STREAM                DMA1_Stream6   
#define IOE_DMA_RX_STREAM                DMA1_Stream0
#define IOE_DMA_TX_TCFLAG                DMA_FLAG_TCIF6
#define IOE_DMA_RX_TCFLAG                DMA_FLAG_TCIF0


#define TIMEOUT_MAX    0x3000 /*<! The value of the maximal timeout for I2C waiting loops */


uint32_t IOE_TimeOut = TIMEOUT_MAX; /*<! Value of Timeout when I2C communication fails */





void RTC_RT8025_RW_Init(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);                       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        //SYSCFG->CMPCR = 0x00000001;                                                                                 //使用IO 补偿单元,
                                                                                                                                                //当GPIO 速度超过50M 的时候要考虑使用此设置       
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(GPIOF, &GPIO_InitStructure);
       
        RX8025_RW_EN;

}






unsigned char WriteRX8025(unsigned char *Wt)
{     
        uint8 i;

        RTC_PageWrite(I2C1, (unsigned char *)&Wt[0], RTC_W_DEVICE_ADR, 0, 7);

        i = 0;
        RTC_ByteWrite(I2C1, &i, RTC_W_DEVICE_ADR, 0x0d);
        i = 0;
        RTC_ByteWrite(I2C1, &i, RTC_W_DEVICE_ADR, 0x0e);       
        i = 0x40;
        RTC_ByteWrite(I2C1, &i, RTC_W_DEVICE_ADR, 0x0f);                        //2.0s(默认)
       
       
        return 0;       
       
       
       
}






void RTC_RT8025_Read_Clock(void)
{
        uint8 rtc_buf[7] = {0};
        uint8 status = 0;

        RTC_BufferRead(I2C1, (u8 *)&rtc_buf[0], RTC_W_DEVICE_ADR, 0x00, 7);

        if(rtc_buf[0]>0x59) status|=1;                //second
        if(rtc_buf[1]>0x59) status|=2;                //minute
        if(rtc_buf[2]>0x23) status|=4;                //hour
        if(rtc_buf[3]>0x40) status|=8;                //week
        if((rtc_buf[4]>0x31) || (rtc_buf[4]<0x1))status|=10;                //day
        if((rtc_buf[5]>0x12) || (rtc_buf[5]<0x1))status|=20;                //month
        if((rtc_buf[6]<0x14) || (rtc_buf[6]>0x99))  status|=40;                //year
       
        if(status != 0)
        {
                printf("\r\n★   RTC Read Test Error ? %d", status);
                RTC_RT8025_WriteInit_Clock();
        }       
       
        RtcTime.year  = ((((rtc_buf[6]&0xf0) >> 4) * 10) + (rtc_buf[6]&0x0f));
        RtcTime.month = ((((rtc_buf[5]&0x10) >> 4) * 10) + (rtc_buf[5]&0x0f));
        RtcTime.dom =   ((((rtc_buf[4]&0x30) >> 4) * 10) + (rtc_buf[4]&0x0f));

        RtcTime.dow =   rtc_buf[3];       

        RtcTime.hour = ((((rtc_buf[2]&0x30) >> 4) * 10) + (rtc_buf[2]&0x0f));
        RtcTime.min  = ((((rtc_buf[1]&0x70) >> 4) * 10) + (rtc_buf[1]&0x0f));
        RtcTime.sec  = ((((rtc_buf[0]&0x70) >> 4) * 10) + (rtc_buf[0]&0x0f));
}


void RTC_RT8025_WriteInit_Clock(void)
{
        unsigned char WTime[7]={0x25,0x16,0x10,0x01,0x04,0x08,0x14};   //2014-07-18 5 16:14:09
       
        WriteRX8025(&WTime[0]);
}







//-----------------------------------------------------------------------------
// END
//-----------------------------------------------------------------------------


















出0入46汤圆

发表于 2014-9-7 11:49:51 | 显示全部楼层
hpdell 发表于 2014-9-5 17:19
祝你好运,

rx8025t的第12脚接地或者悬空,切记!!!

谢谢楼主的支持,找到无应答的原因了,我是软件模拟的IIC,IO配置完成后立即至高,无应答的问题就解决了。
但是现在读数据存在一些问题,读取多字节时,只能读出第一个字节,后面的全是零0,郁闷死了,我在琢磨琢磨

出0入0汤圆

 楼主| 发表于 2014-9-7 18:05:37 | 显示全部楼层
工程师030 发表于 2014-9-7 11:49
谢谢楼主的支持,找到无应答的原因了,我是软件模拟的IIC,IO配置完成后立即至高,无应答的问题就解决了 ...

我上面 的程序是没有问题的,你试一下硬件的 I2c

出0入46汤圆

发表于 2014-9-9 11:01:52 | 显示全部楼层
hpdell 发表于 2014-9-7 18:05
我上面 的程序是没有问题的,你试一下硬件的 I2c

终于搞定了,我软件模拟的I2C用的是正点原子的,里面的ACK函数把SDA拉低后就没至高,所以后面的数据读出来全部是0,因此只能读一个字节。
也不知道是原子源程序是这样还是后来不知道怎么改掉了,总之找到问题就好了。
再次谢谢楼主!下次画板准备用硬件i2c和楼主的程序

出0入112汤圆

发表于 2014-10-10 21:06:34 | 显示全部楼层
本帖最后由 xunke 于 2014-10-11 23:21 编辑
hpdell 发表于 2014-7-14 20:02
rx8025, 不过已经搞定了,原来是搞硬件的工程师吧此芯片的第12脚接高电平了,只要悬空此脚就可以了, ...

官网手册的电路
请教你D1  D2用什么型号的?电池用多少伏的?
我的D1 D2用IN4148 ,备用电池用3V的钮扣电池,电路掉电后RX8025不会走时,是不是备用电池电压不够?但手册说"时钟供电电压1.6---5.5V”

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-10-11 09:18:17 | 显示全部楼层
xunke 发表于 2014-10-10 21:06
请教你D1  D2用什么型号的?电池用多少伏的?
我的D1 D2用IN4148 ,备用电池用3V的钮扣电池,电路掉电后 ...





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入112汤圆

发表于 2014-10-11 23:25:51 | 显示全部楼层

现在才知道官网上的手册的电路有的问题 R2 R3 应该接+5V 才能达到低功耗(约0.9uA),像官网手册的电路工作电流达到0.5mA.

出0入4汤圆

发表于 2019-9-25 14:49:46 | 显示全部楼层
xunke 发表于 2014-10-11 23:25
现在才知道官网上的手册的电路有的问题 R2 R3 应该接+5V 才能达到低功耗(约0.9uA),像官网手册的电路工 ...
R2 R3 应该接+5V 才能达到低功耗(约0.9uA)

确定吗?官网没找到这样的说明

出0入0汤圆

发表于 2019-12-9 11:38:12 | 显示全部楼层
问题已出,答案已更;有始有终,共同进步,好贴

出0入53汤圆

发表于 2022-12-17 14:44:52 | 显示全部楼层
hpdell 发表于 2014-9-5 17:19
祝你好运,

rx8025t的第12脚接地或者悬空,切记!!!
(引用自6楼)

读取第一个秒后面的 数据全部读出来的是0不知道为什么?  只能读取一个正确数据,如果想读取其他,需要单独再读一个数

写入时间可以连续一次写多个

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2022-12-18 21:25:55 | 显示全部楼层
zhcj66 发表于 2022-12-17 14:44
读取第一个秒后面的 数据全部读出来的是0不知道为什么?  只能读取一个正确数据,如果想读取其他,需要单独 ...
(引用自15楼)

是不是你的 i2c 读取函数有问题 ? 或者是速度太快 ??

我现在都好久 没有使用这个芯片了

出0入53汤圆

发表于 2022-12-24 11:25:02 | 显示全部楼层
hpdell 发表于 2022-12-18 21:25
是不是你的 i2c 读取函数有问题 ? 或者是速度太快 ??

我现在都好久 没有使用这个芯片了 ...
(引用自16楼)

现在又用什么高级芯片了?

出0入0汤圆

发表于 2023-1-3 17:18:44 | 显示全部楼层
多少钱一个RX8025

出0入0汤圆

 楼主| 发表于 2023-2-22 12:09:46 | 显示全部楼层
zhcj66 发表于 2022-12-24 11:25
现在又用什么高级芯片了?
(引用自17楼)

目前使用 ds3231

出0入53汤圆

发表于 2023-2-26 19:50:37 | 显示全部楼层
hpdell 发表于 2023-2-22 12:09
目前使用 ds3231
(引用自19楼)

ds3231 哪种封装的

出0入0汤圆

 楼主| 发表于 2023-2-27 10:19:35 | 显示全部楼层
zhcj66 发表于 2023-2-26 19:50
ds3231 哪种封装的
(引用自20楼)

sop封装的,宝宝上一大堆,

出0入53汤圆

发表于 2023-2-27 16:04:50 | 显示全部楼层
hpdell 发表于 2023-2-27 10:19
sop封装的,宝宝上一大堆,
(引用自21楼)

sop-8 不便宜啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 21:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表