Propably, you have not set the baudrate for the I2C module. This can be
done using the I2SCLL and I2SCLH registers.
A possible initialization if the I2C module kis the following: (F_VPB is
the Peripheric bus clock speed in Hz and baudrate is also measured in Hz).
void i2c_init( unsigned long baudrate )
{
unsigned int divider = F_VPB / baudrate; // calculate the clock
divider
// Initialize Pin Connect Block:
PINSEL0 |= 0x50; // P0.2 and P0.3 as I2C
pins! (This has propably to be changed according to the pinning of your
chip)
// Initialize I2C:
I2C_I2CONCLR = 0x6c; // clearing all flags
I2C_I2CONSET = I2C_FLAG_I2EN; // enabling I2C
I2C_I2SCLL = divider / 2; // I2CSCLL + I2CSCLH has to
be equal to that divider!
I2C_I2SCLH = divider - I2C_I2SCLL;
}
hoping this helps,
Karsten Wei\ufffd
Remis Norvilis schrieb:
> I'm having difficulty with getting the I2C to work (with the LPC2214 as
> the master). I can get as far a valid start condition (0x08) and
> generate an interrupt, but I can't get the clock line (SCL) to
> oscillate. If I debug, it appears that both the clock (SCL) and the
> data line (SDA) go low simultaneously after start flag is set (STA in
> the I2CONSET register).
> After the interrupt is generated, I attempt to send an address, (by
> setting the contents of the I2DAT to a valid PCF8574 slave address 7-
> bit value + a "0" for a "write" (ex. "0x40")). Both the SCL and SDA
> lines appear to remain low until the start flag &/OR the Interrupt flag
> is cleared (by setting either the STAC &/OR the SIC bits in the
> I2CONCLR register). I've also tried to set the address value in the
> I2DAT register after clearing the start &/OR interrupt flags with the
> same result.
>
> Note: I do have 10K ohm pull-up resistors (to 5v) on both the SDA and
> SCL lines.
>
>
>
> ------------------------------------------------------------------------
> *Yahoo! Groups Links*
>
> * To visit your group on the web, go to:
> http://groups.yahoo.com/group/lpc2000/
>
> * To unsubscribe from this group, send an email to:
> lpc2000-unsubscribe@yahoogroups.com
> <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe>
>
> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/>.
>
>
--
------------------------------------------------------------------
Dipl.-Ing. Karsten Wei\ufffd
Universit\ufffdt Karlsruhe (TH)
Institut f\ufffdr Proze\ufffdrechentechnik, Automation und Robotik (IPR)
Geb. 40.28
Kaiserstra\ufffde 12
D-76128 Karlsruhe
Tel.: (0721) 608 - 7124
Fax: (0721) 608 - 7141
------------------------------------------------------------------Message
Re: [lpc2000] LPC2214 I2C master problems
2005-05-24 by Karsten Weiß
Attachments
- No local attachments were found for this message.