2

I set it to 1200

$ cat /boot/config.txt
[...]
dtparam=i2c_arm=on,i2c_arm=on_baudrate=1200

but

$ cat /sys/module/i2c_bcm2708/parameters/baudrate
3814

Is this the minimum? Can I somehow go below that value?

4

The I2C hardware uses the core 250MHz clock in setting the bit rate. The bit rate is set by a divide down of the core clock. The divider is a 16 bit quantity and therefore the maximum divider is 65536. 250M/65536=3814.

Peripherals page 34.

You have at least a couple of options.

  • Underclock to lower the core clock speed
  • bit bang I2C
  • +1 But to be picky: the limit to a 16-bit value is 65535 (2^16 - 1). – goldilocks Mar 28 '15 at 17:43
  • 1
    @goldilocks But to be irritating, if you use a divider of 0 a divider of 65536 is used! – joan Mar 28 '15 at 18:28
  • I figured there might be some logic like that ;) – goldilocks Mar 28 '15 at 18:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.