Arduino'da yazılan kütüphaneyi Nuvoton'a çevirme

Bowman

Üye
Katılım
7 Ekim 2022
Mesajlar
98
NXP'nin PCF85063A RTC entegresini kullanacağım. İnternette arattığımda Arduino için yazılmış bir kütüphane yazıldığını gördüm. Ben Nuvoton'un M031 işlemcisini kullanıyorum. Bu kütüphaneyi adım adım Nuvoton tarafına dönüştürmeye çalışıyorum. Fakat bir nokta kafama takıldı.

Özellikle read işlemleri için entegrenin datasheetinin 8.4'ü kısmına bakılması gerektiğini söylüyor. Arduino için zamanı okumak adına şöyle bir kod yazmış arkadaş.

C:
void PCF85063A::readTime()
{
    Wire.beginTransmission(I2C_ADDR);
    Wire.write(RTC_SECOND_ADDR);                    // datasheet 8.4.
    Wire.endTransmission();

    Wire.requestFrom(I2C_ADDR, 7);

    while( Wire.available() )
    {
        second = bcdToDec( Wire.read() & 0x7F );     // ignore bit 7
        minute = bcdToDec( Wire.read() & 0x7F );
        hour = bcdToDec( Wire.read() & 0x3F );        // ignore bits 7 & 6
        day = bcdToDec( Wire.read() & 0x3F );
        weekday = bcdToDec( Wire.read() & 0x07);    // ignore bits 7,6,5,4 & 3
        month = bcdToDec( Wire.read() & 0x1F);        // ignore bits 7,6 & 5
        year = bcdToDec( Wire.read()) + 1970;
    }
}

Daha önce Arduino ile hiç uğraşmadım malesef. O yüzden birebir bu kodu doğru mu kullandım emin olamadım. Benim kodum şu şekilde.

C:
void PCF85063A::read_time()
{
    uint8_t readData[7];
    
    I2C_ReadMultiBytesOneReg(I2C0,I2CADDR,RTC_SECOND_ADDR,readData,1);
    
    second = bcdToDec(readData[0]);
    minute = bcdToDec(readData[1]);
    hour = bcdToDec(readData[2]);
    day = bcdToDec(readData[3]);
    weekday = bcdToDec(readData[4]);
    month = bcdToDec(readData[5]);
    year = bcdToDec(readData[6]);
    
}

Öncelikle yazdığım kod doğru mudur?

Datasheet 8.4 dediğim kısım okuma yöntemi ile ilgili şu şekilde:

rtc_8_4.png
 
nuvoton kullanıyorsan artık arduinoyu cümle içinde kullanma

Lib basit I2C haberleşmesi birkaç tane nuvo içim yazılmış ı2c örneğine bak yazabilirsin unut arduinoyu
 
Kod doğru görünüyor. Ama tabi görüntünün bir önemi yok. Test edip doğru sonucu alabiliyor musun gör.
 

Forum istatistikleri

Konular
5,823
Mesajlar
99,364
Üyeler
2,476
Son üye
mrmandos

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top