大哥我用i2c方式读写外部的fM24C02时为什么读到的老是最后一个写进行的值呢? 10
我用新华龙公司的C8051f040单片机读写外部的fm24c02是为什么写了几个数字到不同的内存地址,但从不同地址读数时总是读到的是最后一个写进去的值呢,做个一般是什么问...
我用新华龙公司的C8051f040单片机读写外部的fm24c02是为什么写了几个数字到不同的内存地址,但从不同地址读数时总是读到的是最后一个写进去的值呢,做个一般是什么问题引起的,那位高手请帮帮忙吧,小弟不胜感激!!
while(1)
{
SM_Send(0x01, 0x51); // Send 0x51(data) to address 0x01 on CHIP_A
delay_us(1000);
check = SM_Receive(0x01); // 在此处设断点可观察check值的变化
SM_Send(0x04, 0x52); // Send 0x52(data) to address 0x04 on CHIP_A
delay_us(1000);
che1 = SM_Receive(0x04);
delay_us(1000);
che2 = SM_Receive(0x01); //从CHIP_A的address 0x01取值 ,可是取到的是0x52
che3 = SM_Receive(0x04); //从CHIP_A的address 0x04取值 ,取到的也是0x52,所以我存在的问题是取 //到的总是最后一个写进去的值,我怀疑我根本就没写进去,就是数据都是在线上
}
这是我摘来的一段程序!!! 展开
while(1)
{
SM_Send(0x01, 0x51); // Send 0x51(data) to address 0x01 on CHIP_A
delay_us(1000);
check = SM_Receive(0x01); // 在此处设断点可观察check值的变化
SM_Send(0x04, 0x52); // Send 0x52(data) to address 0x04 on CHIP_A
delay_us(1000);
che1 = SM_Receive(0x04);
delay_us(1000);
che2 = SM_Receive(0x01); //从CHIP_A的address 0x01取值 ,可是取到的是0x52
che3 = SM_Receive(0x04); //从CHIP_A的address 0x04取值 ,取到的也是0x52,所以我存在的问题是取 //到的总是最后一个写进去的值,我怀疑我根本就没写进去,就是数据都是在线上
}
这是我摘来的一段程序!!! 展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询