hàm delay cho stm32

mình không hiểu đoạn code này mọi người giải thích giùm ạ.
Mọi người giúp đỡ.

void delay_init(u8 SYSCLK)
{
    SysTick->CTRL&=0xfffffffb;
    fac_us=SYSCLK/8;         
    fac_ms=(u16)fac_us*1000;
}

Mình ko biết bạn hỏi ko hiểu code trình bày hay là ý nghĩa của các tham số , ở dòng đầu sẽ <=> sysTick -> (CTRL = CTRL & 0xff…) (thằng sysTick ,CTRL bạn có thể xem trên trang chủ ,gõ gg là ra )
Dòng 2 : sử dụng bộ chia 8 (sau 8 xung timer tăng 1 ) để lấy giá trị us
Dòng 3 : từ us đổi sang ms

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?