欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 836|回復: 1
收起左側

32f407單片機滴答定時器精準延時,延時0ms

[復制鏈接]
ID:1140540 發表于 2024-12-19 21:48 | 顯示全部樓層 |閱讀模式
32f407單片機滴答定時器精準延時,延時0ms,寫進去后,芯片一通電就發熱,熱到一定程度就崩潰了,復位也沒用,

int main()
{
Delay_ms(0);
GPIO_ToggleBits(GPIOF,GPIO_Pin_10);
}

void Delay_ms(uint32_t nTime)
{
       uint_t delay_ms=21000;
       SysTick->LOAD = nTime*delay_ms ;   //重裝載寄存器,最大計數值
        SysTick->VAL = 0x00        ;                                //清空計數值
        SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk ; // 開啟倒數
        
        do
        {
                temp=SysTick->CTRL;
               
        }while((temp&0x01)&& !(temp & (1<<16))); //等待倒數到0為止
        
        SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk ; // 關閉計數器
        SysTick->VAL = 0x00        ;        //清空計數值
        
}



回復

使用道具 舉報

ID:583948 發表于 2024-12-20 09:23 | 顯示全部樓層
int main() {
    // 假設你不需要延時
    GPIO_ToggleBits(GPIOF, GPIO_Pin_10);
    while (1) {
        // 主循環
    }
}

void Delay_ms(uint32_t nTime) {
    if (nTime == 0) return; // 直接返回,不執行任何延時

    uint32_t delay_ms = 21000; // 確保這個值適合你的系統時鐘
    SysTick->LOAD = nTime * delay_ms;   // 重裝載寄存器
    SysTick->VAL = 0x00;               // 清空計數值
    SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; // 開啟倒數

    // 等待SysTick計數器達到零
    while ((SysTick->CTRL & SysTick_CTRL_ENABLE_Msk) && !(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));

    SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; // 關閉計數器
    SysTick->VAL = 0x00;                       // 清空計數值
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表