delay.c

来自「基于STM32的RF905无线通讯收发程序」· C语言 代码 · 共 25 行

C
25
字号
#include "stm32f10x_lib.h"
#include "Delay.h"

//延时Nms
//注意Nms的范围
//Nms<=0xffffff*8/SYSCLK
//对72M条件下,Nms<=1864 
void Delay_ms(u16 Nms)
{    
 SysTick->LOAD=(u32)Nms*9000; //给重装载寄存器赋值,9000时,将产生1ms的时基 
 SysTick->CTRL|=0x01;               //开始倒数    
 while(!(SysTick->CTRL&(1<<16)));   //等待时间到达 
 SysTick->CTRL=0X00000000;         //关闭计数器
 SysTick->VAL=0X00000000;           //清空计数器     
}   
//延时us           
void Delay_us(u32 Nus)
{ 
 SysTick->LOAD=Nus*9;       //时间加载      
 SysTick->CTRL|=0x01;            //开始倒数    
 while(!(SysTick->CTRL&(1<<16)));//等待时间到达 
 SysTick->CTRL=0X00000000;       //关闭计数器
 SysTick->VAL=0X00000000;        //清空计数器     
}  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?