Ynt: I2C iletişim acil yardım!!!

Başlatan salih_arel, 04 Eylül 2012, 18:10:09

salih_arel

Merhabalar. Rfid bir kart okuyucu yapıyorum fakat okuyucu ile 18f452 pici haberleştiremiyorum. I2C iletişimini daha önce hiç kullanmadım biraz araştırma yaptım ve şöyle bir kod yazdım.


#include <18f452.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use fast_io(a)
#define FAST_GLCD
#define GLCD_WIDTH   128
#include <HDM64GS12.c>
#include <graphics.c>
#use I2C(master, SCL=PIN_C3, SDA=PIN_C4)
#define button pin_a0
int bilgi,data,ack;
char disp[]="kart okunuyor..";
char disp2[]="kart okunamadi";

void main()
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı
   set_tris_a(0x01);
   glcd_init(ON);
   
while(1)
{
bilgi=input(button);
if(bilgi==1)
{
glcd_fillScreen (0);
glcd_text57(40,39, disp, 1, ON);   //glcd yazdır
glcd_update();
delay_ms(100);
i2c_start();
        ack = i2c_write(0x83);
        ack = i2c_write(0x00);
        delay_ms(500);
        i2c_start();
        ack = i2c_write(0x84);
        data = i2c_write(0x00);
glcd_fillScreen (0);
glcd_text57(5,39, data, 1, ON);   //glcd yazdır
glcd_update();
delay_ms(1500);
}
else
{
glcd_fillScreen (0);
glcd_text57(40,39, disp2, 1, ON);   //glcd yazdır
glcd_update();
}
}
}

fakat lcd de saçma bir 4 sayısı görebiliyorum ancak. Bu işlemi nasıl yapabilirim. datasheetinin bir kısmı aşşağıda

http://www.4shared.com/photo/-y44hZ-w/Ekran_Alnts.html

hepsi bu adreste. http://www.sonmicro.com/trx/downloads/125/ds_SM125_V30.pdf
34. sayfadan itibarenI2C anlatılıyor. Bu ödevi yetiştirmem gerekli çok az bir zamanım kaldı.Yardımlarınızı bekliyorum.

mesaj birleştirme:: 05 Eylül 2012, 11:04:46

Konu Hakkında Bilgisi Olan Yokımu!!!!