完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 kkhkbb 于 2018-3-7 14:32 编辑
一、 概述 1、 时钟系统简介 (1)STM32时钟源分以下五类:
(2)系统时钟SYSCLK可来源于:HSI振荡器时钟、HSE振荡器时钟、PLL时钟。 2、SYtiCK简介 在STM32中,SysTick是内核CM4中的一个24位的递减计数器,也称系统嘀答定时器。SysTick的最大使命,就是定期地产生异常请求,作为系统的时基。操作系统需要这种“滴答”来推动任务和时间的管理。 SysTick在设定初值并开启后,每经一个系统时钟周期,计数值减1,计数到0时,将从重载寄存器中自动重新装载定时初值并继续计数,同时内部的COUNTFLAG标志位置1,触发中断(中断允许情况下),中断响应属于NVIC异常,异常号为15,Systick中断优先级可设置。 3、SYTICK寄存器控制 STM32内部有4个寄存器控制SysTick定时器。分别为:控制寄存器STK_CSR、重载寄存器STK_LOAD、当前值寄存器STK_VAL和校准值寄存器STK_CALRB。下面分别对这4个寄存器做详细介绍。 (1)控制寄存器STK_CSR(地址:0xE000E010) 控制寄存器STK_CSR中有4个bit具有意义,其内容如图4_0、表4_0所示: 图4_0 控制寄存器STK_CSR的格式
表4_0 控制寄存器STK_CSR的格式 图4_1 重载寄存器STK_LOAD的格式 重载寄存器STK_LOAD为24位的寄存器(0:23有效),最大计数0xFFFFFF。SysTick定时器递减至0时,重载寄存器中的值就会被重新装载,继续开始递减计数。 (3)当前值寄存器STK_VAL(地址:0xE000E018) 图4_2 当前值寄存器STK_VAL的格式 当前值寄存器STK_VAL为24位的寄存器,读取时返回当前计数的值,写它则使之清零,同时还会清除在SysTick控制及状态寄存器中的COUNTFLAG标志。 (4)校准值寄存器STK_CALRB(地址:0xE000E01C) 图4_3 校准值值寄存器STK_CALRB的格式
表4_1寄存器STK_CALRB的格式 二、实验原理 通过STM32的三个GPIO口驱动三色LED的三个通道;设定GPIO为推挽输出;采用灌电流的方式与LED连接,输出高电平LED灭,输出低电平LED亮。通过系统定时器实现1s定时,每秒变换一次LED颜色。 图4_4 驱动示意图 三、源代码 1.主函数 /* 2.Systick初始化 以下是Systick初始化及中断设置函数,主要实现定标志位的时1s,改变一次标志位,使用LED显色状态变换一次。 /* 3.小知识 在上面有两个重要的函数 1.SysTick_Confing(uint32_t ticks) 该函数的作用是初始化systick,时钟为HCLK(CM3一般为72M,CM4一般为168M),并开启中断。 __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) 回头看看程序中的SysTick_Config(SystemCoreClock / 1000)语句,该函数中的SystemCoreClock为时钟频率已在库函数中宏定义。如在iCore3双核心板ARM的HCLK为168M(每秒168M次计数),则程序中SystemCoreClock / 1000即意味每1ms中断一次。 2.void SysTick_Handler(void) 该函数是中断函数,即每次SysTick中断产生时运行一次函数,其在启动文件中已有设置,在驱动文件中使用时无需再次声明。 四、 实验现象 iCore3的双核心板上与ARM相连的三色LED(PCB上标示为ARM·LED),红色、绿色、蓝色每秒交替点亮。 五、 代码包下载链接 网盘:http://pan.baidu.com/s/1eQsKcEY |
|
相关推荐
|
|
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
941 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
3127 浏览 1 评论
873 浏览 0 评论
1733 浏览 1 评论
2977 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 09:34 , Processed in 0.727711 second(s), Total 68, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号