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

Bowman

Aktif Üye
Katılım
7 Ekim 2022
Mesajlar
128
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
7,356
Mesajlar
124,390
Üyeler
2,982
Son üye
merthkm

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top