Stm32 decimal to hex çevirme

qwertyqwq

Üye
Katılım
30 Tem 2019
Mesajlar
44
Puanları
1
merhaba,

stm32 ile rtc uygulaması yapıyorum fakat bir noktada yardım gerekiyor. Şöyle rtc ile güncel saat ve dakika değerini alıyorum ve bu değerin üzerine giriş şartlandırmasına bağlı olarak 30 dk eklemem gerekiyor. Daha sonra da bu eklenen yeni değeri rtc yi set etmede kullanmak istiyorum. Burada şu işlemi yapıyorum;

minute=gTime.Minutes;
yeniminute = minute + (0x30) ; // burada 30 dk ekleniyor
gAlarm.AlarmTime.Minutes = yeniminute; // burada eklenen dakika alarm olarak set ediliyor.

Burada hata şu ;
minute değeri decimal. Buna ek olarak 30 dk ekleniyor fakat bu değer (decimal) , gAlarm.AlarmTime.Minutes değerine atandığında yine decimal olarak atanıyor ve sonuç yanlış çıkıyor. Bunun için decimal değeri hex çevirme işlemi gerekiyor. Bu konu hakkında bilgisi veya önerisi olan yardımcı olursa sevinirim .

İyi akşamlar
 
Ben anlamam.
Bir sürü yapay zeka uygulaması var onlardan birine sor.
Aşağıdaki üyelik istemiyor.
https://duckduckgo.com/?q=duckduckgo&ia=chat
 
Zaman kütüphanesinin fonksiyonlarını kontrol edin. Belki bu 30 dakikayı saniye veya milisaniye olarak eklemeniz yeterli olabilir.
 

0x30 zaten hex bir değer. minute değişkeni de decimal bir değer tutuyor diyorsunuz. O halde @rsimsek beyin dediği şekilde 0x30 yerine, decimal karşılığı olan 48 eklemeniz problemi gidermiyor mu?
 
Ben fonksiyonu incelemedim. Normalda 0x30 yerini sadece 30 eklenmeli. 0x30 şeklinde hex bir sayı 48 dakika olarak eklenmiş oluyor.
 
Siz zaten yapmışsınız fakat "Decimal" 30 un "Hex" karşolığı 1E dir "0x1E" olarak gösterilir.
Bu çevirici-calculator işinize yarar:

https://www.rapidtables.com/convert/number/decimal-to-hex.html?x=30

Programınızdaki satırı şu şrkilde değişitirebilirsiniz

yeniminute = minute + 0x1E; // 30 (0x1E) dakika eklenir (hex)

Yalnız ilave rutinler gerekir:
Eğer yeniminute 60'ı geçerse, saati de güncellemek gerekir.
ayrıca
Saat 24'ü geçerse 00:00 olarak dönmesi için.rutin yazmanız gerekecek

RTC alarmını ayarlamak için hex formatında dakika değeri kullanılır.
 
RTC entegresi varsa bazı kaydediciler bu şekilde olabilir. Ancak hane hane hesaplanıp öyle kaydedilmeli. Mutlaka kataloğuna bakılmalı.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…