switch(irq_flags)
{
case (1 << (uint8_t)HAL_NRF_TX_DS):
Merhabalar yukarıda case (1 << (uint8_t)HAL_NRF_TX_DS): bu kısımda ne yapmak istemiş? 1<< şu kısım özellikle bit kaydırma ile mi ilgili? Teşekkürler
2 ile çarpmış bit kaydırma ile
HAL_NRF_TX_DS kaçıncı bite denk geliyorysa, binary veya hex olarak yazmaktansa 1 değerini bit numarası kadar kaydırıp case açmış.
2 ile çarpma yok burada. İki ile çarpmak için örnek (value * 2) ==> (value << 1)
HAL_NRF_TX_DS muhtemelen o bitin register'da kaçıncı bit olduğunu tanımlayan bir sabit. irq_flags değişkenini (veya register'ını) maskeleyerek ilgili bitin 1 olup olmadığını kontrol etmiş. uint8_t'ye cast etmesi muhtemelen gereksiz (C++ kodunda enum class falan kullanılmamışsa). Ayrıca, işin doğrusu 1 yerine 1u yazmaktır. Genel olarak işaretli değişkenlerde kaydırma işlemi uygulanması tavsiye edilmez.