野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14933|回复: 13

stm32定时器设置问题

[复制链接]
发表于 2021-9-15 17:38:17 | 显示全部楼层 |阅读模式
我程序是在给的定时器基本程序上改的,想输出100-200ns,100khz到200kh作用的脉冲波,使用的是指南者开发板,时钟频率是72Mhz。然后使用定时器6技术,分频输设为0,也就是用72M时钟,计时9个周期产生一个中断,然后计数,通过判断技术值从而使端口输出0和1,然而在示波器观察端口一直是3.3V信号,就很迷惑,想问问各位大佬是怎么回事?
野火论坛202109151738071158..png
野火论坛202109151737492976..png
回复

使用道具 举报

发表于 2021-9-17 08:54:47 | 显示全部楼层
这样控制普通输出可能不够快,要么试直接以PWM复用信号输出
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-17 09:13:56 | 显示全部楼层
我用PWM试过了,可以正常输出,但是用定时器中断去做,发现就输出不了,两者都是用PB0口输出,配置模式和速度都是一样的,请问两者有什么不同,为什么输出速度不够快?
回复 支持 反对

使用道具 举报

发表于 2021-9-17 17:10:56 | 显示全部楼层
nikalawa 发表于 2021-9-17 09:13
我用PWM试过了,可以正常输出,但是用定时器中断去做,发现就输出不了,两者都是用PB0口输出,配置模式和速 ...

查查中断号对否。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-17 20:40:53 | 显示全部楼层
中断号是对的,我把分频改成1,就有输出方波输出,但是周期和脉宽跟算的不对,并且我在计数time变量判断那里上下变动之后,就又输出不了波形了
回复 支持 反对

使用道具 举报

发表于 2021-9-17 20:42:27 | 显示全部楼层
nikalawa 发表于 2021-9-17 09:13
我用PWM试过了,可以正常输出,但是用定时器中断去做,发现就输出不了,两者都是用PB0口输出,配置模式和速 ...

你的cpu什么型号,是否不支持定时器6中断。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-19 10:35:00 | 显示全部楼层
stm32f103VE的,支持定时器6中断,我用1s定时的教程试了,有输出,然后才改的程序
回复 支持 反对

使用道具 举报

发表于 2021-9-19 11:07:31 | 显示全部楼层
本帖最后由 xuyaqi 于 2021-9-19 11:09 编辑
nikalawa 发表于 2021-9-19 10:35
stm32f103VE的,支持定时器6中断,我用1s定时的教程试了,有输出,然后才改的程序 ...
定时器用哪个管脚做输出是规定好了的,不是想让谁做输出都行。 pb0.png



回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-19 16:30:55 | 显示全部楼层
基本定时器没有说特定的引脚吧,只有高级和通用定时器才有特定的外部引脚,我用基本定时器做计时中断,每140ns,产生一个更新事件,对全局变量time加一,然后通过判断time的状态对IO口进行相应操作。
回复 支持 反对

使用道具 举报

发表于 2021-9-19 17:03:23 | 显示全部楼层
nikalawa 发表于 2021-9-19 16:30
基本定时器没有说特定的引脚吧,只有高级和通用定时器才有特定的外部引脚,我用基本定时器做计时中断,每14 ...

如果你只是用定时器产生计时中断,然后对IO口进行相应操作,当然没有特定的引脚,但是你用定时器产生输出波形(输出比较和PWM)就有特定的引脚。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-20 14:48:49 | 显示全部楼层
我只是用定时器产生中断,对IO口进行相应操作,但是就是输出不了波形
回复 支持 反对

使用道具 举报

发表于 2021-9-21 11:21:15 | 显示全部楼层
nikalawa 发表于 2021-9-20 14:48
我只是用定时器产生中断,对IO口进行相应操作,但是就是输出不了波形

通过测试,分频设为0,自动重装载值arr不能小于33,否则不能正常产生中断,你是否把自动重装载值arr设为9造成不能正常产生中断。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-22 16:26:07 | 显示全部楼层
应该是 arr的值太小的话 频繁进入中断感觉MCU来不及响应
回复 支持 反对

使用道具 举报

发表于 2021-9-22 18:40:47 | 显示全部楼层
nikalawa 发表于 2021-9-22 16:26
应该是 arr的值太小的话 频繁进入中断感觉MCU来不及响应

同意你的看法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-28 06:01 , Processed in 0.042066 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表