SYSTICK用法
来源:互联网 发布:ucloud云计算 演讲 编辑:程序博客网 时间:2024/06/01 08:09
一、做延时功能用
/*以下函数转自原子的程序*/
static u8 fac_us=0;//us延时倍乘数
static u16 fac_ms=0;//ms延时倍乘数
//初始化延迟函数
//SYSTICK的时钟固定为HCLK时钟的1/8
//SYSCLK:系统时钟
void delay_init(u8 SYSCLK)
{
//SysTick->CTRL&=0xfffffffb;//bit2清空,选择外部时钟 HCLK/8
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//选择外部时钟 HCLK/8
fac_us=SYSCLK/8;
fac_ms=(u16)fac_us*1000;
}
//延时nms
//注意nms的范围
//SysTick->LOAD为24位寄存器,所以,最大延时为:
//nms<=0xffffff*8*1000/SYSCLK
//SYSCLK单位为Hz,nms单位为ms
//对72M条件下,nms<=1864
void delay_ms(u16 nms)
{
u32 temp;
SysTick->LOAD=(u32)nms*fac_ms;//时间加载(SysTick->LOAD为24bit)
SysTick->VAL =0x00; //清空计数器
SysTick->CTRL=0x01 ; //开始倒数
do
{
temp=SysTick->CTRL;
}
while(temp&0x01&&!(temp&(1<<16)));//等待时间到达
SysTick->CTRL=0x00; //关闭计数器
SysTick->VAL =0X00; //清空计数器
}
//延时nus
//nus为要延时的us数.
void delay_us(u32 nus)
{
u32 temp;
SysTick->LOAD=nus*fac_us; //时间加载
SysTick->VAL=0x00; //清空计数器
SysTick->CTRL=0x01 ; //开始倒数
do
{
temp=SysTick->CTRL;
}
while(temp&0x01&&!(temp&(1<<16)));//等待时间到达
SysTick->CTRL=0x00; //关闭计数器
SysTick->VAL =0X00; //清空计数器
}
/*结束*/
二、做定时器功能用
SysTick_init(u8 SYSCLK)
{
u16 fac_us,fac_ms;
SysTick->CTRL&=0xfffffffb; //bit2清空,选择外部时钟 HCLK/8
fac_us=SYSCLK/8;
fac_ms=(u16)fac_us*1000;
SysTick->LOAD=(u32)4*fac_ms; //时间加载(SysTick->LOAD为24bit) 4ms
SysTick->VAL =0x00; //清空计数器
SysTick->CTRL |=(1<<0 |1<<1); //开始倒数
/* Function successful */
}
void SysTick_Handler()
{
/* 在这里写上中断程序*/
}
- SYSTICK用法
- Systick
- systick
- SysTick
- Systick
- Systick
- SysTick定时器
- SysTick定时器
- stm32 systick
- STM32 Systick
- STM32F4 systick
- PIT systick
- SYSTICK配置
- systick介绍
- systick.c
- systick.h
- SysTick 倒计时
- SysTick时钟
- memcached-java客户端xmemcached使用总结
- android shape的使用
- 正则表达式
- Sequence of shopping carts in-depth analysis with R(3)– Sequence of events
- Android酷炫UI合集
- SYSTICK用法
- Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单
- .NET开发者必备的工具箱
- Sequence of shopping carts analysis with R(0) – Sankey diagram
- ExtJS中layout布局详解
- 【iOS开发-116】内存测试管理和优化:Analyze和Profile,以及iOS开发常用工具simPholders、fabric
- JAVA自学-事件处理
- Shopping cart analysis with R(-1) – Multi-layer pie chart
- ECSHOP插件大全 ecshop模板2014集合包