这里只把TIM14作为一个定时器使用,设定一个时间,定时中断。

整个操作还是比较简单,只是关于TIM14的时钟频率问题,掉到了坑里。由于灵动微的手册中并没有详细描述各个外设模块的时钟源,而在APB2ENR寄存器中看到使能位,导致误以为其时钟为PCLK2是TIM14的时钟。而实际TIM14的时钟源如下图,

TIM14的时钟经过APB2分频后,又经过了一个倍频模块。此模块的倍频系数为1或2。当APB2的分频系数为1时,不倍频。当APB2的分频系数不为1,则倍频为2倍。这点大家要格外注意!!!下面上代码:

void TIM14_init(void)
{
    RCC->APB2ENR |= RCC_APB2ENR_TIM14;//enable clock

TIM14->PSC = 71;// 71+1,set prescaler
    TIM14->ARR = 50000;//set period
    TIM14->DIER |= TIM_DIER_UIEN;//enable update interrupt

TIM14->CR1 |= TIM_CR1_CEN;//counter enable
    
    NVIC_SetPriority(TIM14_IRQn,1);//CMSIS标准函数
    NVIC_EnableIRQ(TIM14_IRQn);//CMSIS标准函数
}

void TIM14_IRQHandler(void)
{
    if(TIM14->SR & TIM_SR_UIF)
    {
        TIM14->SR &= ~TIM_SR_UIF;

LED_TOGGLE;
    }
}

一个是初始化函数,一个是中断服务函数。我的APB2分频为1,APB2时钟频率为72M,所以上面的设定周期为50ms。

中断服务函数的名字来源于启动文件startup.s(唯一的汇编文件,mcu工作执行的第一段程序),这里的函数是弱声明函数,如果用户定义了,编译器会使用用户定义的函数进行链接。若用户没有定义,则使用这里默认的函数进行链接,这个操作很好很方便。

灵动微MM32F013x芯片学习-TIM14定时器相关推荐

  1. 灵动微全新MM32SPIN0280系列32位MCU

    灵动微全新MM32SPIN0280系列32位MCU产品是专门用于针对电机与电源领域所设计的基于Arm Cortex-M0内核的高性能微控制器,内核主频96兆赫兹,PWM主频192兆赫兹.QFN20以及 ...

  2. 分享灵动微MM32F0010单片机32位空气炸锅参考方案

    空气炸锅是一种可以用空气来进行"油炸"的机器,主要是利用空气替代原本煎锅里的热油,让食物变熟:同时热空气还吹走了食物表层的水分,使食材达到近似油炸的效果.空气炸锅的工作原理是&qu ...

  3. 灵动微MM32SPIN360C获选2020年度国产MCU评选

    由芯师爷主办.深福保集团冠名的"2020硬核中国芯"活动中,灵动微电子获选2020年度国产MCU评选. 企业介绍 灵动微电子是中国本土领先的通用32位MCU产品及解决方案供应商.公 ...

  4. 国产灵动微MM32F3277G7P兼容STM32F103RCT6

    由于st芯片价格高且缺货严重,不少厂家想用国产芯片代替.国产32位单片机厂商上海灵动微电子便是一个不错的选择.灵动微MM32系列基于ARM Cortex-M0及Cortex-M3内核,产品包括:针对通 ...

  5. 华芯微特SWM181学习笔记--GPIO应用与环境搭建

    华芯微特SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核, SWM181 支持片上包含精度为 1%以内的 24MHz.48MHz 时钟,并提供 ...

  6. 新唐芯片学习笔记——概要

    ##新唐芯片学习笔记--概要 特性 编号信息列表与管脚定义 NuMicroNUC029 命名规则 特性 ARM®Cortex®-M0 内核 – 运行频率可达50MHz – 一个 24位系统定时器 – ...

  7. 灵动微32位单片机LQFP64引脚MM32F3273G7P

    灵动微MM32F3273G7P采用ARM®Cortex®-M3内核的高性能32位单片机,工作频率高达120兆赫兹,内置512KB Flash和128KB RAM的高速存储器,具有丰富的I/O端口和外设 ...

  8. 灵动微新品封装SOP8单片机32位MM32F0010A6T

    灵动微MM32F0010A6T采用内核M3的高性能32位单片机,工作频率最高可达48兆赫兹,内置高速存储器(闪存16KB,SRAM为2KB),具备丰富的I/O端口和外设连接到外部总线.包含1个12位的 ...

  9. 灵动微基于 MM32SPIN040C 为主控的无感方波水泵应用方案

    水泵是一种运输液体或增压液体的机器.将原动机的机械能或其他外部动能量传递给液体,提高液体动能,主要用于运输含水.油.酸碱液.乳化液.悬乳液和液体金属的液体. 介绍一款适用于水泵的32位单片机--MM3 ...

最新文章

  1. 深度学习的Xavier初始化方法
  2. ISAPI_Rewrite3.1相关知识
  3. 《GDAL源码剖析与开发指南》一一1.9 简单的调用
  4. 深入redis内部---网络编程
  5. input 只输入数字并限制最大输入长度
  6. 大话数据结构 队列10:数组循环队列
  7. android闹钟——原代码【转】
  8. 坚持探索与落地并重,阿里巴巴云原生之路全景揭秘
  9. iOS学习:CAShapeLayer与DrawRect对比,与UIBezierPath画图形
  10. C++ 递归算法解析(演示语言:c++/c#/python/lua)(用博主会的所有语言来演示一波)
  11. 【LeetCode】49. Group Anagrams
  12. 用java写出死锁的例子_【面试】请写一个java死锁的例子-Go语言中文社区
  13. 给《人人都是产品经理》的一封信
  14. matlab 几何布朗运动 股价,某股票价格遵循几何布朗运动
  15. linux下word转pdf
  16. 人脸识别活体检测技术理论
  17. windows 双开微信
  18. 如何在 Windows 10/11 下通过命令卸载产品许可密钥
  19. transforms操作
  20. 记录一次浏览器HTTPS“你的连接不是私密连接”错误NET::ERR_CERT_REVOKED

热门文章

  1. 四、项目生命周期和开发生命周期
  2. 超详细的CentOS下载与图文安装
  3. 如何在iPhone上用ChatGPT替换Siri
  4. (Endless)Scroll View(画卷滚动视图)
  5. 心动页面html,心动模式播放页.html
  6. android p 荣耀v10,荣耀V10 P 版本(EMUI 9.0+Android 9.0) 正式版 9.0.0.125 发布说明
  7. AJAX跨域问题及解决方案
  8. ajax中cors解决跨域,AJAX 跨域 CORS 解决方案
  9. 红外光谱中无机物的红外谱图分析
  10. python bosonnlp_BosoNnlp