打印
[STM8]

【STM8-SO8-DISCO】——6、TIM4时基测试

[复制链接]
403|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
【STM8-SO8-DISCO】——6、TIM4时基测试

  定时器的时基用法,是定时器的最基本功能。
  本实验基于样例程序“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\TIM4\TIM4_TimeBase”,复制全部文件。


  将之前创建的工程模板改名为“STM8S_StdPeriph_TIM4_TimeBase”,将上一步复制的5个文件,粘贴到本文件夹下。


  添加宏定义按键和LED1。(已删除不必要的头文件包含。注意,TIM4_PERIOD的宏定义在之后会用到)


  主程序中,初始化时钟、IO、定时器。在主循环中,按键B1按键时,LD1常亮;当B1没按下时,LD1翻转闪灯;
通过时基延时100mS


  从用户参考手册中得到,上电默认为HSI时钟8分频,即2MHz。




  通过“CLK_Config()”函数,将系统时钟设置为16MHz。
  “TIM4_Config()”函数,实现TIM4初始化。16MHz首先通过定时器预分频128,得到计时时钟125KHz;设置定时器循环周期为125,即寄存器TIM4->ARR设置为124;并使能开启TIM4中断。


  TIM4_TimeBaseInit()函数原型在“stm8s_tim4.c
”文件中。


  初始化按键B1、LD1;延时函数实现。


  定时器4中断服务函数中,执行TimingDelay_Decrement()使用延时变量TimingDelay自减,并清除中断位。


  
编译,下载程序,并全速运行。
  实验现象为,按键B1按键时,LD1常亮;当B1没按下时,LD1翻转闪灯。

  
用逻辑分析仪抓取LD1时序,频率为5Hz,与预期一致。

使用特权

评论回复
沙发
mmuuss586| | 2020-8-24 09:37 | 只看该作者
感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

68

帖子

0

粉丝