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

Bowman

Üye
Katılım
7 Ekim 2022
Mesajlar
132
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ş.

Kod:
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.

Kod:
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
8,904
Mesajlar
144,711
Üyeler
3,582
Son üye
Performans

Son kaynaklar

Back
Top