PIC i2c modulü ile 7SEGMENTE veri yazma (SAA1064)

Yardımlarınız için çok teşekkür ederim. Sonun da program çalıştı. Yardımlarınızla başarabildim.
Programın son hali registerlardan(kaydedicilerden) sonra;
(Void main içi)
Kod:
Basla();
      Yaz(0x70); //Cihaz adresi ADR= GND=VEE
      Yaz(0x00); //Control Register Adresi
      Yaz(0x00); //static mode, i.e. continuous display of digits 1 and 2
      Yaz(0x00); //1.Digit clear
      Yaz(0x00); //2.Digit clear
      Dur();
    while(1){
        for(i=0;i<10;i++){
            Basla();
            Yaz(0x70);        //Yazma modu
            //while(ACKSTAT)
            Yaz(0x01);        //1.Displaye yaz
            Yaz(rakam[i]);    //i'yi çevir yaz
            Yaz(0x00);        //2.Displayi sil
            Dur();
            __delay_ms(500);
        }
    }

Ayrıca signed char Yaz(unsigned char veri) fonksiyonunda SSP1BUF=veri; satırından sonra while(SSPSTATbits.BF); satırını ekledim. Bu satır BF bitinin 0 olmasını bekler. Yani gönderim tamamlandı demek. (Galiba bu olay PIC16F1509 vb. PIC'ler için geçerli)

Son hali;
Kod:
signed char Yaz(unsigned char veri){
    Bekle();  
    SSP1BUF=veri;
    while(SSPSTATbits.BF);
    return (ACKSTAT);
}
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…