LPC1768菜鸟学习之路systick
来源:互联网 发布:windows正版验证网站 编辑:程序博客网 时间:2024/05/29 07:55
LPC1768在代码里用到使用systick时,是以如下形式出现
if (SysTick_Config(SystemCoreClock /1000))/1ms进入一次中断/
{
while (1); /* 错误情况下就停在这里
}
这个函数的原型是
__STATIC_INLINEuint32_t SysTick_Config(uint32_t ticks)
{
if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)
return(1); /* Reload value impossible */
SysTick->LOAD = ticks - 1; /* set reloadregister */
NVIC_SetPriority (SysTick_IRQn,(1<<__NVIC_PRIO_BITS) - 1); /* setPriority for Systick Interrupt */
SysTick->VAL = 0; /*Load the SysTick Counter Value */
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_TICKINT_Msk |
SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ andSysTick Timer */
return (0); /* Function successful */
}
节拍函数的初始化,需要提一下的是这个函数的形参SystemCoreClock/1000,SystemCoreClock 是CPU频率,假设是100M的情况下,100M/1000= 100K,节拍定时器在100M的时钟下计数100K次,1S可以溢出1000次,就是说1ms溢出一次,所以就是定时1ms。如果想定时10ms,就把除数改成100。
延迟函数可以这样写:
staticvoid Delay (uint32_t dlyTicks) {
uint32_t curTicks;
curTicks = msTicks;
while ((msTicks - curTicks) <dlyTicks);
}
voidSysTick_Handler(void) {
msTicks++; /* increment counternecessary in Delay() *
}
- LPC1768菜鸟学习之路systick
- LPC1768菜鸟学习之ADC.doc
- LPC1768菜鸟学习之时钟配置
- LPC1768菜鸟学习之GPIO和外部中断
- STM32之SysTick学习
- LPC17XX 学习之 systick
- STM32学习之路-不得不说的SysTick时钟
- STM32学习之路-SysTick的应用(时间延迟)
- STM32菜鸟学习笔记 系统滴答定时器(systick)
- STM32F10x 学习笔记之SysTick 定时器
- LPC1768实现精准延时——Systick的使用
- LPC1768实现精准延时——Systick的使用
- LPC1768之串口UART0
- LPC1768之外部中断
- LPC1768之定时器TIMER0
- LPC1768之串口UART0
- LPC1768之串口UART0
- IOS菜鸟学习之路
- 部署描述文件web.xml解析(二) Servlet生命周期
- andriod中布局
- 【C++】正确使用虚析构函数
- Java共享模式/享元模式(Flyweight模式)
- 学习JavaScript的闭包
- LPC1768菜鸟学习之路systick
- Uva 11181
- 通过数据分析改进并达成SEO优化目标
- java环境的搭建,myeclipse的安装配置和破解
- 关于在AF层注册的具体过程
- 【C++】子类在重写虚函数时,会覆盖父类的函数
- Struts+Spring注解名词解释
- LPC1768菜鸟学习之GPIO和外部中断
- 尚硅谷 hibernate4 总结