naipeng 发表于 2010-3-29 14:17:29

求助。cvavr中用到两个I2C协议元件,怎么办?

程序中,用到两个I2C元件,一个是DS1307,一个是24C02,均为I2C协议。元件没在一条总线上。这样定义的
#asm
    .equ __i2c_port=0x12
    .equ __sda_bit=6
    .equ __scl_bit=5
#endasm
#include <ds1307.h>

#asm
    .equ __i2c_port=0x15
    .equ __sda_bit=3
    .equ __scl_bit=4
#endasm
#include <i2c.h>
__i2c_port,__sda_bit,__scl_bit重复定义了,没办法使用。怎么处理?

naipeng 发表于 2010-4-1 09:30:43

怎么无人问津啊?必须自己写某一个元件的头文件吗?

machao 发表于 2010-4-8 02:00:06

回复【楼主位】naipeng
程序中,用到两个I2C元件,一个是DS1307,一个是24C02,均为I2C协议。元件没在一条总线上。这样定义的
#asm
    .equ __i2c_port=0x12
    .equ __sda_bit=6
    .equ __scl_bit=5
#endasm   
#include &lt;ds1307.h&gt;
#asm
    .equ __i2c_port=0x15
    .equ __sda_bit=3
    .equ __scl_bit=4
#endasm
#include &lt;i2c.h&gt;
__i2c_port,__sda_bit,__scl_bit重复定义了,没办法使用。怎么处理?

-----------------------------------------------------------------------

如下尝试一下,有可能可以的:

#asm
    .equ __i2c_port=0x12
    .equ __sda_bit=6
    .equ __scl_bit=5
#endasm   
#include &lt;ds1307.h&gt;
#include &lt;i2c.h&gt;

注意DS1307和24c02的器件地址不能相同。

njfwx 发表于 2013-6-4 14:44:55

          用CVAVR碰到同样的问题!不知怎么处理?
页: [1]
查看完整版本: 求助。cvavr中用到两个I2C协议元件,怎么办?