XBee Pro 900HP Programmable pin 7 not reaching 0v when set to logic low

Hi all,

I have encountered an issue with the programmable xbee’s pin 7. Initially I was attempting to use I2C and found the communication was not behaving as expected. I attached SDA (Pin 7) to an oscilloscope and found logic low was only reaching 0.85 volts, not the ~0 volts that I expected. The trace on the board goes directly between the two SDA pins on the devices and is pulled up with a 10K resistor to Vcc (3v). Out of curiosity, I removed I2C in CodeWarrior and set Pin 7 to a GPIO output without a pull. Then in the beginning of main I use gpio_set(PIN7, 0) to set the pin low and found the same results. The pin was only going down to 0.85 volts. Is there some setting or conflict that could cause this symptom?

Thanks in advance!

  • David
1 Like

Success!

All I needed was to manually set the drive strength of XPIN_7 to high in my code after I added I2C in the smart editor. So in the main function in main.c I wrote:

gpio_config(XPIN_7,GPIO_CFG_DRV_STR_HIGH);

After the sys_hw_init() and that fixed the problem. The pin now reaches ~0.2 volts for logic low.

  • David
1 Like

Thanks for posting, this solved my problem with an intermittent i2c comms issue too.
There must be an internal pullup resistor too, as i have none on my board or on the sensor, yet the line is pulled up strongly.