打印
[STM32F0]

分享一个STM32F072在8M下的软件延时

[复制链接]
974|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hjl240|  楼主 | 2015-2-5 19:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    使用定时器产生的延时精度确实是高,但是也相对麻烦,软件延时虽然精度不高,但也相对简单,使用方便,在精度要求不高的情况的可以使用。            使用的是STM32F032 Nucleo开发板,为内部8M晶振。
    以下延时函数用示波器测得,精度小于1us。




//STM32F072RB Nucleo
//在内部晶振为8M的情况下

void delay3us()//3us
{
        int i;
        for(i=0;i<1;i++);
}

void delay10us()//10us
{
        int i;
        for(i=0;i<12;i++);
}

void delay20us()
{
        int i;
        for(i=0;i<28;i++);
}

void delay50us()
{
        int i;
        for(i=0;i<76;i++);
}

void delay200us()
{
        int i;
        for(i=0;i<317;i++);
}

void delay500us()
{
        int i;
        for(i=0;i<796;i++);
}

void delay1ms()
{
        int i;
        for(i=0;i<1590;i++);
}

void delaynms(int n)
{
        int j;
        for(j=0;j<n;j++)
                delay1ms();
}



发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

56

帖子

1

粉丝