This is the mail archive of the mailing list for the eCos project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1001397] I2C driver for Kinetis microcontrollers

Please do not reply to this email, use the link below.

--- Comment #57 from Mike Jones <> ---
I get the same conservative frequency no matter how

I have given the code below, which I know ignores the delay specified in the
CDL. Is there a different way to write the code so that the delay and AGR of
the CDL get applied?

uint16_t smbus_read_word(uint8_t address, uint8_t command)
    cyg_i2c_device device = {                        \
            .i2c_bus        = &cyg_i2c0_bus,         \
            .i2c_address    = address,               \
            .i2c_flags      = 0,                     \
            .i2c_delay      = i2c_bus_time           \
    cyg_uint8 buffer[1];
    cyg_uint8 input[2];
    buffer[0] = command;

    if(!cyg_i2c_transaction_tx(&device, true, &buffer[0], 1, false)) {
        diag_printf("Read Word: fail TX.\n");
    } else if(!cyg_i2c_transaction_rx(&device, true, &input[0], 2, true, true))
        diag_printf("Read Word: fail RX.\n");

    return input[1] << 8 | input[0];

You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]