|
本帖最后由 数码小叶 于 2018-12-19 10:22 编辑 第一眼拿到这本书,真的是把我惊到了,这么厚的一本干货
比一般的书厚两倍都不止。打开发现一共有45个章节 ,一下看完肯定是不可能的。先按照当初申请时写的那样,一周一个章节,完成4个章节的学习。 第一周就是学习第17章,SysTick——系统定时器。SysTick在平时作为一个节拍时钟还是很常用到的。SysTick是一个24位的递减计数器,每计一个数的时间是1/SYSCLK,直到减到0,产生一个中断。相比于普通定时器,它的优势在哪呢,那就是便于移植性,因为他是内核中的一个外设,内嵌在NVIC中。像常见的FreeRTOS就是利用SysTick产生时基。 首先,读完了书上关于SysTick的基本介绍内容,然后结合实际例程去学习,因为电脑上基本都是HAL库,但是实际一点也不影响整个学习,书本上这一章节对相关的寄存器都做了很详细的介绍。首先入口是
这个看不出,还得继续,就到了core_cm3.h里的SysTick_Config
首先判断给定的参数是否超出最大值,没有就把计数值赋给重装载寄存器。然后设置中断优先级。__NVIC_PRIO_BITS 值为4,即左移4位,因为STM32 的中断使用了 4 位作为优先级,而且是用的高4位,低4位不用。结果是15,即最低优先级。然后就是赋计数初值0了。最后是配置SysTick的控制及状态寄存器:选择时钟源、使能定时器中断、使能定时器。至此,SysTick就配合完成了。再来看SysTick的一个实际用法,就是HAL_Delay()函数:
粗看貌似和SysTick没啥关系,所以得继续往里看,注意到uwTick这个变量,应该是变化的,但是这个值在哪改变的呢,keil可以定位到下面这个函数
|
呵呵,这是字典。 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版