Skip to content

i2c:write_bytes panic on ESP32  #1324

Closed
@ray-delossantos

Description

@ray-delossantos

Using an ESP32 board

When running this function

i2c_write_bytes_with_result(I2C, Bytes) -> 
    case i2c:write_bytes(I2C, <<0, 128>>) of
        ok -> {ok, nil};
        error -> {error, nil};
        {error, _} = E -> E
    end.

It throws the error below.

# sudo cu -s 115200 -l /dev/tty.usbserial-0001

I (969) i2c_driver: I2C driver installed using I2C port 0
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x400da301  PS      : 0x00060030  A0      : 0x801395a3  A1      : 0x3ffba930
A2      : 0x00000002  A3      : 0x3ffcc16c  A4      : 0x3ffcc21c  A5      : 0x00000064
A6      : 0x03ffcc67  A7      : 0x3ffcc300  A8      : 0xfffffffc  A9      : 0x00000003
A10     : 0x00000033  A11     : 0x0000006c  A12     : 0x3ffbbd18  A13     : 0x00000167
A14     : 0x0000000b  A15     : 0x00000000  SAR     : 0x0000000a  EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000068  LBEG    : 0x4008336d  LEND    : 0x40083375  LCOUNT  : 0x00000027


Backtrace: 0x400da2fe:0x3ffba930 0x401395a0:0x3ffba990 0x401396b6:0x3ffba9c0 0x400f3977:0x3ffba9e0 0x4011485a:0x3ffbaa90 0x400d90e7:0x3ffbaab0 0x401dca17:0x3ffbaaf0

What I may be doing wrong?

Note: If I use the i2c:write_byte and send the exact same bytes one by one it works as expected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions