灵动微MM32F013x芯片学习-TIM14定时器
这里只把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定时器相关推荐
- 灵动微全新MM32SPIN0280系列32位MCU
灵动微全新MM32SPIN0280系列32位MCU产品是专门用于针对电机与电源领域所设计的基于Arm Cortex-M0内核的高性能微控制器,内核主频96兆赫兹,PWM主频192兆赫兹.QFN20以及 ...
- 分享灵动微MM32F0010单片机32位空气炸锅参考方案
空气炸锅是一种可以用空气来进行"油炸"的机器,主要是利用空气替代原本煎锅里的热油,让食物变熟:同时热空气还吹走了食物表层的水分,使食材达到近似油炸的效果.空气炸锅的工作原理是&qu ...
- 灵动微MM32SPIN360C获选2020年度国产MCU评选
由芯师爷主办.深福保集团冠名的"2020硬核中国芯"活动中,灵动微电子获选2020年度国产MCU评选. 企业介绍 灵动微电子是中国本土领先的通用32位MCU产品及解决方案供应商.公 ...
- 国产灵动微MM32F3277G7P兼容STM32F103RCT6
由于st芯片价格高且缺货严重,不少厂家想用国产芯片代替.国产32位单片机厂商上海灵动微电子便是一个不错的选择.灵动微MM32系列基于ARM Cortex-M0及Cortex-M3内核,产品包括:针对通 ...
- 华芯微特SWM181学习笔记--GPIO应用与环境搭建
华芯微特SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核, SWM181 支持片上包含精度为 1%以内的 24MHz.48MHz 时钟,并提供 ...
- 新唐芯片学习笔记——概要
##新唐芯片学习笔记--概要 特性 编号信息列表与管脚定义 NuMicroNUC029 命名规则 特性 ARM®Cortex®-M0 内核 – 运行频率可达50MHz – 一个 24位系统定时器 – ...
- 灵动微32位单片机LQFP64引脚MM32F3273G7P
灵动微MM32F3273G7P采用ARM®Cortex®-M3内核的高性能32位单片机,工作频率高达120兆赫兹,内置512KB Flash和128KB RAM的高速存储器,具有丰富的I/O端口和外设 ...
- 灵动微新品封装SOP8单片机32位MM32F0010A6T
灵动微MM32F0010A6T采用内核M3的高性能32位单片机,工作频率最高可达48兆赫兹,内置高速存储器(闪存16KB,SRAM为2KB),具备丰富的I/O端口和外设连接到外部总线.包含1个12位的 ...
- 灵动微基于 MM32SPIN040C 为主控的无感方波水泵应用方案
水泵是一种运输液体或增压液体的机器.将原动机的机械能或其他外部动能量传递给液体,提高液体动能,主要用于运输含水.油.酸碱液.乳化液.悬乳液和液体金属的液体. 介绍一款适用于水泵的32位单片机--MM3 ...
最新文章
- 深度学习的Xavier初始化方法
- ISAPI_Rewrite3.1相关知识
- 《GDAL源码剖析与开发指南》一一1.9 简单的调用
- 深入redis内部---网络编程
- input 只输入数字并限制最大输入长度
- 大话数据结构 队列10:数组循环队列
- android闹钟——原代码【转】
- 坚持探索与落地并重,阿里巴巴云原生之路全景揭秘
- iOS学习:CAShapeLayer与DrawRect对比,与UIBezierPath画图形
- C++ 递归算法解析(演示语言:c++/c#/python/lua)(用博主会的所有语言来演示一波)
- 【LeetCode】49. Group Anagrams
- 用java写出死锁的例子_【面试】请写一个java死锁的例子-Go语言中文社区
- 给《人人都是产品经理》的一封信
- matlab 几何布朗运动 股价,某股票价格遵循几何布朗运动
- linux下word转pdf
- 人脸识别活体检测技术理论
- windows 双开微信
- 如何在 Windows 10/11 下通过命令卸载产品许可密钥
- transforms操作
- 记录一次浏览器HTTPS“你的连接不是私密连接”错误NET::ERR_CERT_REVOKED
热门文章
- 四、项目生命周期和开发生命周期
- 超详细的CentOS下载与图文安装
- 如何在iPhone上用ChatGPT替换Siri
- (Endless)Scroll View(画卷滚动视图)
- 心动页面html,心动模式播放页.html
- android p 荣耀v10,荣耀V10 P 版本(EMUI 9.0+Android 9.0) 正式版 9.0.0.125 发布说明
- AJAX跨域问题及解决方案
- ajax中cors解决跨域,AJAX 跨域 CORS 解决方案
- 红外光谱中无机物的红外谱图分析
- python bosonnlp_BosoNnlp