Go Down

Topic: i2c e pullup resistor (Read 1 time) previous topic - next topic

Testato

ma mica sono attive di default, se lui non le ha attivate non deve fare nulla  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

astrobeed


ehm.. e come disattivo quelle di arduino? devo modificare qualcosa nella Wire.h?


Se l'I2C è a 5V puoi anche lasciarle attive, 30 k in parallelo a 4.7k hanno un effetto minimo, se l'I2C è a 3.3V allora devi disabilitare le pull up interne usando le due righe che ti ha postato PaoloP.

astrobeed


ma mica sono attive di default,


Invece si, le attiva la libreria di default.

Code: [Select]

void twi_init(void)
{
  // initialize state
  twi_state = TWI_READY;
  twi_sendStop = true; // default value
  twi_inRepStart = false;
 
  // activate internal pullups for twi.
  digitalWrite(SDA, 1);
  digitalWrite(SCL, 1);
[/code

leo72



ma mica sono attive di default,


Invece si, le attiva la libreria di default.

Code: [Select]

void twi_init(void)
{
  // initialize state
  twi_state = TWI_READY;
  twi_sendStop = true; // default value
  twi_inRepStart = false;
 
  // activate internal pullups for twi.
  digitalWrite(SDA, 1);
  digitalWrite(SCL, 1);


Esattamente nel file /ibraries/Wire/utility/twi.cpp.
Basta commentare quelle 2 righe, oppure scriversi un metodo begin() nuovo che accetti in input anche lo stato delle pull-up interne.

Testato

questa mi mancava (come infinite altre cose  :)),
grazie delle delucidazioni
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up