文章目录[隐藏]
系列文章目录
一、SysTick的运用
为什么《参考手册中文版》中没有关于SYSTICK的相关描述?
核内定时器,ST公司只在手册中添加自家外设描述
SysTick的介绍
它是一个24位的系统定时器,它是向下计数的,计数到0时,在下一个时钟边沿会重复计数
Systick的作用
1,产生一个精准的延时
2,为Rtos提供时基</font>
二、Nms的编程步骤:
1、设置SysTick的时钟源和关闭定时器
2、计算出1ms和1us所需要记的次数
void SysTicks_Config(uint32_t sysclk)
{
SysTick->CTRL &=~0x05;//设置SysTick的时钟源和关闭定时器
fu_us=sysclk/8;//计算出1ms和1us所需要记的次数
fu_ms=fu_us*1000;
}
3、设置Nms所需记的次数----放到Load寄存器中
SysTick->LOAD =fu_ms*Nms;
4、使能定时器
SysTick->CTRL |=0x01;
5、等待定时器定时结束----等待SysTick->CTRL寄存器的第16位置1
do{
temp=SysTick->CTRL;
}while(!(temp&(1<<16)));
6、关闭定时器,定时结束
SysTick->CTRL &=~0x01;
三、 按键
按键编程步骤:
1>打开GPIOA的时钟
2>初始GPIOA0
----GPIO_Pin_0
----上拉输入
3>判断GPIOA0是否为0
4>延时50ms
5>判断GPIOA0是否为0
6>等待GPIOA0为1
7>执行相应的操作
版权声明:本文为CSDN博主「weixin_51950650」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51950650/article/details/121508929
暂无评论