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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7939|回復: 11
打印 上一主題 下一主題
收起左側

關于STM32 hal庫微秒級延時函數的問題

[復制鏈接]
跳轉到指定樓層
樓主
keil里這個代碼微秒級延時為什么沒有運行,代碼和CUBE庫設置
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:521487 發表于 2019-4-25 16:21 | 只看該作者
編譯沒有報錯,運行到delay_us處就停下來了
回復

使用道具 舉報

板凳
ID:362398 發表于 2019-4-25 20:36 | 只看該作者
hal庫生成的定時器初始化函數最后沒有使能定時器,需要自己添加代碼使能
回復

使用道具 舉報

地板
ID:250696 發表于 2019-4-25 21:35 | 只看該作者
你把優化設成0級看看
回復

使用道具 舉報

5#
ID:521487 發表于 2019-4-25 22:28 | 只看該作者
sky505050w 發表于 2019-4-25 20:36
hal庫生成的定時器初始化函數最后沒有使能定時器,需要自己添加代碼使能

delay函數里HAL_TIME_BASE_START不是使能了嗎
回復

使用道具 舉報

6#
ID:521487 發表于 2019-4-25 22:34 | 只看該作者
sky505050w 發表于 2019-4-25 20:36
hal庫生成的定時器初始化函數最后沒有使能定時器,需要自己添加代碼使能

delay函數里不是使能了嗎HAL_TIM_BASE_START
回復

使用道具 舉報

7#
ID:521487 發表于 2019-4-26 01:00 | 只看該作者
delay函數的hal_tim_set不是使能了嗎
回復

使用道具 舉報

8#
ID:625566 發表于 2019-10-22 12:38 | 只看該作者
兄弟,問題最后怎么解決的啊?
回復

使用道具 舉報

9#
ID:628258 發表于 2019-10-22 16:18 | 只看該作者
我一般使用這個:
void delay_us(__IO uint32_t nTime)
{
    int old_val,new_val,val;

    if(nTime > 900)
    {
        for(old_val = 0; old_val < nTime/900; old_val++)
        {
            delay_us(900);
        }
        nTime = nTime%900;
    }

    old_val = SysTick->VAL;
    new_val = old_val - CPU_FREQUENCY_MHZ*nTime;
    if(new_val >= 0)
    {
        do
        {
            val = SysTick->VAL;
        }
        while((val < old_val)&&(val >= new_val));
    }
    else
    {
        new_val += CPU_FREQUENCY_MHZ*1000;
        do
        {
            val = SysTick->VAL;
        }
        while((val <= old_val)||(val > new_val));

    }
}
回復

使用道具 舉報

10#
ID:628308 發表于 2019-10-22 16:30 | 只看該作者
tim13不需要設置中斷嗎
回復

使用道具 舉報

11#
ID:583334 發表于 2020-7-3 21:40 | 只看該作者
cyc2009 發表于 2019-10-22 16:18
我一般使用這個:
void delay_us(__IO uint32_t nTime)
{

Cube生成的工程文件,很多有時是靠systick進行判斷的,所以調用systick會出問題
回復

使用道具 舉報

12#
ID:764088 發表于 2020-7-4 08:33 | 只看該作者
定時器3 應是不能 support 比 us 低 1/n 倍的 中斷,換句話說,是 您的微秒延時思路是 分鐘式延時的思路。
當 同一頻繁中斷不斷發生,而中斷處理來不及 時,就是這種情況。
應改用  systemtick 來實現 微秒延時, 查下百度就有了。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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