void i2c_initial(void)
{
LPC_SC->PCONP |= (1 << 7); /* i2c1 power control biti aktif */
LPC_PINCON->PINSEL1 |= 0x01400000;
LPC_I2C0->I2CONCLR =0x6C; /* AAC,SIC,STAC,I2ENC bitlerini temizle */
LPC_I2C0->I2SCLL =0x300; /* 100 Khz için ayarlandı */
LPC_I2C0->I2SCLH =0x300; /* 100 khz için ayarlandı */
NVIC_EnableIRQ(I2C0_IRQn); /* i2c kesme adresi kurulur.*/
LPC_I2C0->I2CONSET = 0x00000040; /* i2C donanımını aktif hale getirir. */
}
************
Arkadaslar kurulumunu yaptıgım i2c donanımının initial programını yukarıda verdim. Kullandıgım ARM LPC1769 .hatta start sinyalini gonderdigim zaman kesme olusuyor.i2c status beyragından 0x08 bilgisi geliyor. asagıdaki kodlarla kesme bayragını temizliyorum
LPC_I2C0->I2CONCLR =0x28; /* start ve kesme bayragı temizlenir*/
LPC_I2C0->I2DAT =(0x00); // adres bilgisi
gonderdigim adres bilgisi gitmiyor .i2c status bayragından geriye 0x20; yani hatalı ack geliyor. yanlıslıgı nerede yapıyor olabilirim acaba.