void delay_ms(u32 delay) { for(;delay>0;delay--); } 还需要干什么 为什么报错
时间: 2024-03-07 10:53:51 浏览: 21
您提供的代码片段有些不完整,无法判断报错的具体原因。但是,根据您的代码片段,我猜测您可能在使用 `delay_ms` 函数时出现了问题。
在您的代码中,`delay_ms` 函数的实现非常简单,它只是一个用于延时的循环。在使用这个函数时,您需要提供一个参数,即您需要延时的毫秒数。例如,如果您想延时 100 毫秒,可以这样调用 `delay_ms(100);`。
如果您在使用 `delay_ms` 函数时仍然遇到了问题,请提供更多的代码信息和错误信息,我会尽力帮助您解决问题。
相关问题
void MyDelay(u32 delay) { for(;delay>0;delay--); }这段代码是什么意思
这段代码是一个简单的延时函数,它的作用是提供一定的时间延迟。函数的参数delay是一个无符号32位整数,用来指定延时的时间,单位是一个计数器的数量。函数内部通过一个for循环来实现延时,每次循环都会将delay的值减1,直到delay的值减到0为止。这个for循环实际上是一个空操作(null statement),它不执行任何有意义的代码,只是消耗了一定的CPU时间。因此,这个函数的延时时间是由delay的值和CPU时钟速度共同决定的。具体来说,delay的值越大,延时时间越长;CPU时钟速度越快,延时时间越短。需要注意的是,这个函数实现的延时时间并不是非常精确,因为它没有考虑到循环执行的时间、编译器优化等因素的影响。
static __IO uint32_t delay_ms_ticks; void delay_init(void) { SysTick_Config(SystemCoreClock/1000); } void delay_ms(uint16_t ms) { delay_ms_ticks = ms; while(delay_ms_ticks); } void SysTick_Handler() { if (delay_ms_ticks > 0) { delay_ms_ticks--; } }每一句都加注释
这段代码是用来实现毫秒级延时的功能。下面是每一句的注释:
```c
static __IO uint32_t delay_ms_ticks; // 定义一个静态全局变量,用来保存延时的时间
void delay_init(void) { // 延时初始化函数
SysTick_Config(SystemCoreClock/1000); // 配置 SysTick 定时器,使其每 1ms 中断一次
}
void delay_ms(uint16_t ms) { // 毫秒级延时函数,传入需要延时的时间(单位:毫秒)
delay_ms_ticks = ms; // 将需要延时的时间赋值给延时计数器
while(delay_ms_ticks); // 等待延时计数器归零,即延时完成
}
void SysTick_Handler() { // SysTick 中断服务函数
if (delay_ms_ticks > 0) // 如果延时计数器还未归零
{
delay_ms_ticks--; // 将计数器减一
}
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)