0 👍
25 lượt xem
bởi (🏅0)
đã sửa bởi
Em đang học lập trình timer với stm32F103 nhưng Thanh ghi TIM2_CNT của em nó không đếm. Dưới đây là đoạn code của em, em viết 1 hàm delay bằng timer nhưng tuy nhiên do nó không chạy nên em đã sửa lại 1 chút ở hàm Delay để kiểm tra nó hoạt động không ạ.
*Cấu hình timer:
void TIM2_Config(void){
    My_RCC->APB1ENR |= 0x01;
    My_RCC->CR |= 0x1;
    while((((My_RCC-> CR) >> 1) & 0x01U)  != 1U);
    My_Tim2->ARR  = 0xFFFF;
    My_Tim2->PSC = 8-1;
    My_Tim2->CR1 = 0x01;
    My_Tim2->EGR = 0x01;
}

*Hàm Delay (em đã sửa điều kiện TIM2_CNT > 10 thì đèn nháy liên tục nhưng không hoạt động)
void Delay_ms(uint32_t time){
    while(time){
        My_Tim2->CNT = 0U;
            if(My_Tim2->CNT > 10){
                   time--;
        }
    }
}

*Hàm main
 
uint32_t u32Counter = 0U;
int main(void){
    GPIO_Config();
    TIM2_Config();
    while(1){
       PORTA->ODR |= 0x01;
       Delay_ms(1000);
       PORTA->ODR &= ~0x01;
       Delay_ms(1000);
        
    }
}
 
Coding Guru là nơi dành cho cộng đồng lập trình viên Việt Nam hỗ trợ nhau về tất cả các vấn đề liên quan đến công nghệ.

Chúng ta hãy cùng nhau xây dựng một cộng đồng công nghệ Việt Nam mạnh mẽ, thúc đẩy và giúp đỡ nhau cùng phát triển, thăng tiến trong sự nghiệp.

***
Nơi đam mê hội tụ
***

Một số câu hỏi gần đây có thể tương tự hoặc liên quan ↓

0 👍
0 trả lời 179 lượt xem
hỏi bởi ẩn danh 20/11/2021
0 👍
2 trả lời 201 lượt xem
hỏi bởi Đi tìm đam mê 2/11/2021
...