[综合信息]

HC32l130单片机的delay函数怎么写

[复制链接]
1424|28
手机看帖
扫描二维码
随时随地手机跟帖
和下土|  楼主 | 2023-8-27 18:10 | 显示全部楼层 |阅读模式
HC32l130单片机的delay函数可以这样写:
void delay(unsigned int time)
{
    unsigned int i, j;
    for(i=0; i<time; i++)
        for(j=0; j<1275; j++);
}



使用特权

评论回复
和下土|  楼主 | 2023-8-27 18:10 | 显示全部楼层
这个函数的作用是延迟一段时间。其中的time参数表示延迟的时间,单位是毫秒。这个函数的原理是使用两层循环来消耗时间,通过调整循环次数来调节延迟的时间。

使用特权

评论回复
和下土|  楼主 | 2023-8-27 18:10 | 显示全部楼层
注意:这个delay函数是一个简单的实现方式,实际应用中可能会有更复杂的延迟函数。

使用特权

评论回复
宝宝a| | 2023-8-29 08:34 | 显示全部楼层
ddl.c里面不是有systick实现的延时嘛。。。你这写法不插个nop进去编译器优化一开就没了。。

使用特权

评论回复
yufe| | 2023-8-29 20:34 | 显示全部楼层
这个是最简单的

使用特权

评论回复
51xlf| | 2023-9-7 09:49 | 显示全部楼层
提供了许多延时函数               

使用特权

评论回复
belindagraham| | 2023-9-7 09:57 | 显示全部楼层
提供的函数来实现delay函数。

使用特权

评论回复
lihuami| | 2023-9-7 10:00 | 显示全部楼层
void DelayMs(uint32_t ms)
{
    uint32_t i, j;
    for (i = 0; i < ms; i++)
    {
        for (j = 0; j < 110; j++);
    }
}

使用特权

评论回复
wangdezhi| | 2023-9-7 10:13 | 显示全部楼层
可以使用for循环来生成一个指定时间长的延时。例如,以下代码可以实现一个1秒的延时

使用特权

评论回复
pmp| | 2023-9-7 10:46 | 显示全部楼层
通过设置预分频器来获得1 MHz的计数频率。然后,利用定时器的计数器进行延时,直到计数值达到指定的延时时间。

使用特权

评论回复
everyrobin| | 2023-9-7 10:55 | 显示全部楼层
使用定时器延时的好处是可以在延时期间执行其他任务,不会占用过多的CPU资源。此外,通过调整定时器的预分频器和计数值,可以实现不同精度的延时。

使用特权

评论回复
i1mcu| | 2023-9-7 11:19 | 显示全部楼层
通过嵌套循环来实现延时,内部循环的次数根据系统时钟频率进行调整,以保证延时的准确性。

使用特权

评论回复
1988020566| | 2023-9-7 11:26 | 显示全部楼层
函数内部使用一个for循环来生成一个指定秒数的延时,最终在循环体内输出延时的时间。

使用特权

评论回复
everyrobin| | 2023-9-7 11:42 | 显示全部楼层
delay函数的实现会占用CPU资源,因此在实际应用中需要根据实际需求进行优化,以提高程序的执行效率。

使用特权

评论回复
geraldbetty| | 2023-9-7 11:50 | 显示全部楼层
SysTick定时器来实现delay函数。

使用特权

评论回复
tifmill| | 2023-9-7 11:57 | 显示全部楼层
可以在SysTick中断服务程序中实现延迟功能。

使用特权

评论回复
sheflynn| | 2023-9-7 12:02 | 显示全部楼层
单片机的定时器模块,可以编写更精确的延时函数。

使用特权

评论回复
zerorobert| | 2023-9-7 12:08 | 显示全部楼层
delay函数可以通过使用定时器来实现。

使用特权

评论回复
mikewalpole| | 2023-9-7 12:16 | 显示全部楼层
上编写延时函数通常有几种方法,具体的方法取决于您的需求和应用场景。

使用特权

评论回复
tabmone| | 2023-9-7 12:21 | 显示全部楼层
通过循环等待               

使用特权

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

本版积分规则

59

主题

893

帖子

0

粉丝