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

Bowman

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

Çevrimiçi personel

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,541
Mesajlar
126,342
Üyeler
3,056
Son üye
iwingamesclub

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
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 :)
Back
Top