STM32中的delay.c

来源:互联网 发布:js文本框获得值 编辑:程序博客网 时间:2024/06/03 04:55

STM32中systick下有CTRL、LOAD 、VAL等寄存器
CTRL:SysTick控制和状态寄存器
LOAD:SysTick重装载值寄存器
VAL:SysTick当前值寄存器
CALIB:SysTick校准值寄存器

#include"delay.h"void delay_init(void){    SysTick->CTRL &=~(1<<2);//使用外核时钟}void delay_ms(u16 nms){    SysTick->CTRL &=~(1<<2);    SysTick->LOAD =9000*nms;//预装值    SysTick->VAL=0;//清零    SysTick->CTRL |=1<<0;//启动定时器    while(!(SysTick->CTRL &(1<<16)));    SysTick->CTRL &=~(1<<0);}void delay_us(u16 nus){    SysTick->CTRL &=~(1<<2);    SysTick->LOAD =9*nus;//预装值    SysTick->VAL=0;//清零    SysTick->CTRL |=1<<0;//启动定时器    while(!(SysTick->CTRL &(1<<16)));    SysTick->CTRL &=~(1<<0);}