Nuvoton_Nutiny_Pwm & 0x00FF nedir ?

Başlatan a.ser20, 14 Temmuz 2022, 11:48:05

a.ser20

Şuradaki value & 0x00FF olayı nedir value ile 0x00FF i neden "ve" işlemine sokmuş?



void set_PWM_period(unsigned int value){
  PWMPL = (value & 0x00FF);
  PWMPH = ((value & 0xFF00) >> 8);
}
void set_PWM1(unsigned int value){
  PWM1L = (value & 0x00FF);
  PWM1H = ((value & 0xFF00) >> 8);
  set_LOAD;
}   
       

ahmet35

#1
PWMPL ve PWMPH 8 bitlik registerlar ve bunlara elinizdeki 16 bitlik (value) veriyi direk olarak yükleyemezsiniz.
Kod da value değeri VE işlemi ve bit kaydırma işlemi ile 8 bitlik parçalarına ayrılıp ilgili registerlara yüklenmiş.

16 bitlik registerlarda L -> Low, H -> High Byte olarak tanımlanır.