这是初始化的代码,有啥缺漏啊?

void Tim1Init()

{

//Reset TIM1 clock

RCC->APB2RSTR.TIM1RST  = 1;

//Enable TIM1 clock

RCC->APB2ENR.TIM1EN    = 1;

// Select the Counter Mode :Center-aligned mode (up/down counting)

TIM1->CR1.CMS          = 3;

// Set the clock division :No division

TIM1->CR1.CKD          = 3;

//Set the auto-reload preload :TIMx_ARR register is buffered

TIM1->CR1.ARPE         = 1;

//Set the Autoreload value :10000(Arr)

TIM1->CNT.CNT          = 0;

TIM1->ARR.ARR          = 10000;

// Set the Prescaler value :7199 (CK_CNT = CK_PSC /( PSC[15:0]+1))

TIM1->PSC.PSC          = 7199;

// Set the Repetition Counter value :0,is no repetition

TIM1->RCR.REP          = 0;

//Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately :UG

TIM1->EGR.UG           = 1;

//ClockSourceConfig:internal clock-CK_INT

//Reset the SMS, TS, ECE, ETPS and ETRF bits:0

TIM1->SMCR.SMS        = 0;

TIM1->SMCR.TS         = 0;

TIM1->SMCR.ECE        = 0;

TIM1->SMCR.ETPS       = 0;

TIM1->SMCR.ETF        = 0;

// Select the TRGO source and Set master mode :0

TIM1->CR2.MMS         = 0;

TIM1->SMCR.MSM        = 0;

//Enable trigger:Update interrupt enable

TIM1->DIER.TIE         = 1;

TIM1->DIER.UIE         = 1;

//Init TIM1 interrupt

//TIM1_UP_IRQn = 25,     /*!< TIM1 Update Interrupt

//prioritygroup:4  PreemptPriority:1 SubPriority:0

NVIC->IP[25]           = 0x40;

//Enable interrupt IRQn  (uint32_t)(1UL << (((uint32_t)25) & 0x1FUL)) :ISER[0]'s 25 bits = 1;

NVIC->ISER[0]          = 0x02000000;

//Enable Counter

TIM1->CR1.CEN          = 1;

}

c语言tim1-smcr是什么意思,STM32求助,为啥tim1定时器的计数器CNT一直是0没有变化?...相关推荐

  1. stm32之TIM-高级定时器应用实例一(详细)

    硬件:stm32f103c8t6 开发工具:Keil uVision4 下载调试工具:ARM仿真器 如果第一次接触定时器,可以先看基本定时器.本篇内容较多,如果想直接动手操作,可以跳到后面的实验代码. ...

  2. STM32的一个通用定时器理论上可以当做N个来用

    这个想法还是来自于PLC,学过PLC的都知道,在PLC中定时器是用很多的,西门子S7-1200中定时器是这样的 想用更多的定时器可以这样 而且这么多定时器同时或者不同时工作都不会相互影响,原因就是相当 ...

  3. STM32—TIM(基本定时器)详解

    一.定时器简介 STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为基本定时器,通用定时器和高级定时器.基本定时器 TIM6 和 TIM7 是一个 16 位的只能向上计数的定时器,只能定 ...

  4. STM32入门笔记04_TIM定时器+案例:TIM定时器定时中断、定时器外部时钟

    TIM定时器 TIM简介 TIM(Timer) 定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器.预分频器.自动重装寄存器的时基单元,在72MHz(系统主频)计数时 ...

  5. 面向应用学习stm32(6)-TIM基本定时器-计数计时

    前导:本文的目的与,意在于面向应用的学习单片机,故不会涉及太多的原理知识,例如寄存器之类的. 主要目的在于面向应用的学习单片机,学会单片机的基础用法,开发板采取野火的指南者f103. 作者大二小白,写 ...

  6. 【STM32】HAL库——定时器PWM输出

    前期准备: STM32CubeMX STM32RCT6核心板 IDE Keil(MDK-ARM) STM32CubeMX部分 1. 配置时钟 选择STM32F103RCTx系列芯片,配置时钟的同时会自 ...

  7. stm32学习笔记-6TIM定时器

    6 TIM定时器 文章目录 6 TIM定时器 6.1 TIM定时中断原理 6.2 TIM定时中断相关实验 6.2.1 实验:定时器定时中断-内部时钟 6.2.2 实验:定时器定时中断-外部时钟 6.3 ...

  8. stm32之TIM-高级定时器应用实例二(测量频率和占空比)

    接着上一篇(实验一)高级定时器应用. 实验二:PWM输入捕捉实验 实验要求: 高级定时器TIM1接收TIM2产生的PWM,TIM1测量PWM的频率和占空比,并将数据从UART1上发送到上位机,同时上位 ...

  9. STM32——系统滴答定时器

    STM32--系统滴答定时器 宗旨:技术的学习是有限的,分享的精神是无限的. 一.SysTick[内核中] [风格:先描述一下库对寄存器的封装,再举例实现某些功能] SysTick定时器被捆绑在NVI ...

最新文章

  1. 以太网控制芯片DM9000在2440裸机上终于能正确接收数据了(源代码工程已经上传)...
  2. 打开php.ini中的Safe_mode,会影响哪些函数?
  3. spring之BeanFactory
  4. CF876 F 思维 枚举
  5. linux下安装php两种模式区别
  6. 有点香!苹果首次参加天猫618 iPhone/iPad全线降价
  7. 【Kafka】Kafka 0.10.0版本获取Kafka每个分区最新Offset的几种方法
  8. 【医学图像分割】基于matlab磁共振成像 (MRI) 数值模拟平台【含Matlab源码 826期】
  9. pixmap和label设置图片自适应大小
  10. 广州空气质量数据分析
  11. 小米手机全黑屏9008救砖
  12. h3c交换机配置nat_H3C-NAT 命令配置
  13. 读 Irving M. Copi 之《逻辑学导论》
  14. 树莓派4B-连接Air720U模块抓取数据日志
  15. Ubuntu安装谷歌浏览器Chrome
  16. Hdu--3966(树链剖分,线段树 or 树状数组)
  17. 大二web期末大作业——动漫海贼王(可以很好的应付老师的作业)
  18. 动手学EDA-建模调参
  19. 使用java发送Infor XA ERP SystemLink请求
  20. 大公司的开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等

热门文章

  1. 微电脑世界:25年前和后 信息技术50年
  2. java数字转换字母_java-将数字转换为字母的程序
  3. 来自AMO的JAVA资料
  4. 【电影推荐】扎导版《正义联盟》
  5. 饼图和条形图适用于分析什么数据
  6. js实现有效的括号--力扣
  7. 【JS】数组和字符串之间的转换
  8. 样式雷家的大宅子在今天四环路主路下:《北京的隐秘角落》|3星
  9. 玉簪花by berta『转载』
  10. [WinForm]IrisSkin皮肤的基本使用以及单独控件样式设置