网站首页 > 技术教程 正文
软件内部的计时总是不准的
比如说我们想每0.01s执行一次某个操作,代码中是
{
//执行的操作
}
Delay(10)
实际上每个周期的时长应该是10ms+操作花费时长
如果这是个很复杂的操作,那影响就很大了。
想更精确的控制在10ms,那就需要定时器中断
Cube的设置
在cube中打开TIM1,使用内部时钟源
还是来看一下架构图
TIM1挂载在APB2上,在cube中我们也可以在时钟树看的它的频率
现在我们知道它是16MHz了,如果想让他每10ms触发一次,可以设置分频系数1600,然后计数周期100,有 16000000 / 1600 / 100 = 100Hz,即10ms(当然由于是从0开始计数,所以这里我们都要给它-1)
开启中断
程序的编写
写了这么多程序其实大家应该已经熟悉套路了,无非就是while前做一下初始化,打开中断,然后重写一下回调函数
我们依然是在while前打开中断
然后重写我们的回调函数,烧录就可以在串口助手上看到不断发来的“TIM interrupt”
可以把之前调用单通道ADC的程序拿过来,这就变成了通过定时器中断实现较为准确的100Hz采样了。当然我们也可以和之前的DMA读取结合起来等等,都可以。
当然实际中我们这样采用中断触发ADC是绕远了,STM32f10x系列单片机是支持内部ADC接受定时器中断的,可以更直接的使用定时中断使其采样。
猜你喜欢
- 2025-07-01 类似于STM32之类的单片机,RTOS比裸机真有那么大优势?
- 2025-07-01 单片机系统按键硬件、软件设计技巧
- 2025-07-01 单片机键盘消抖“独门”汇编方案分享,不用延时还能用什么?
- 2025-07-01 单片机引脚功能介绍(单片机引脚工作原理)
- 2025-07-01 单片机与外设的交互(单片机与电脑交互)
- 2025-07-01 26单片机的最小电路介绍(单片机最小电路图pcb)
- 2025-07-01 汇编入门第一篇,小白也能看懂(汇编rl)
- 2025-07-01 单片机简介(arm单片机)
- 2025-07-01 51单片机可以用来做什么?单片机可以做的小产品
- 2025-07-01 我在高职教STM32——02一览STM32的重要功能
你 发表评论:
欢迎- 07-01类似于STM32之类的单片机,RTOS比裸机真有那么大优势?
- 07-01单片机系统按键硬件、软件设计技巧
- 07-01单片机键盘消抖“独门”汇编方案分享,不用延时还能用什么?
- 07-01单片机引脚功能介绍(单片机引脚工作原理)
- 07-01单片机与外设的交互(单片机与电脑交互)
- 07-0126单片机的最小电路介绍(单片机最小电路图pcb)
- 07-01汇编入门第一篇,小白也能看懂(汇编rl)
- 07-01单片机简介(arm单片机)
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)