OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4274|回复: 9

有谁弄过定时器1us中断一次

[复制链接]

3

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-11-11
在线时间
5 小时
发表于 2016-11-11 21:34:54 | 显示全部楼层 |阅读模式
1金钱
STM32F103 定时器2能不能1us中断一次 我弄了很多遍都不行2us就可以 1us就一直不产生中断代码如下
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);
TIM_DeInit(TIM2);
TIM_InternalClockConfig(TIM2);//设置TIM2内部时钟
TIM_TimeBaseStructure.TIM_Period=(1);                                                                                 /* 自动重装载寄存器周期的值(计数值) */
/* 累计 TIM_Period个频率后产生一个更新或者中断 */
TIM_TimeBaseStructure.TIM_Prescaler= (72 - 1);                                    /* 时钟预分频数 72M/72 */
TIM_TimeBaseStructure.TIM_ClockDivision=0x0;                 /* 采样分频 */
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /* 向上计数模式 */
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearFlag(TIM2, TIM_FLAG_Update);                                                                            /* 清除溢出中断标志 */
TIM_ARRPreloadConfig(TIM2, ENABLE);
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM2, ENABLE);       

TIM_Period的值改为1输出的是2us的中断 改为0 就没有中断 TIM_Prescaler的晶振也改过了不行



最佳答案

查看完整内容[请看2#楼]

有问题,没有这么个做法。你想输出波形。应该使用PWM功能。这个功能。不用CPU参与。普通的CPU响应中断,保护现场就要用1微秒左右的时间。除非一些高速单片机,否则你的功能是会比较难实现。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2016-11-11 21:34:55 | 显示全部楼层
本帖最后由 操作系统 于 2016-11-12 13:01 编辑
skey 发表于 2016-11-12 12:39
CPU没干别的工作就是SPI接收数据 之后要1us中断一次在中断里输出波形   CPU工作在1us中断应该是没问题吧

有问题,没有这么个做法。你想输出波形。应该使用PWM功能。这个功能。不用CPU参与。普通的CPU响应中断,保护现场就要用1微秒左右的时间。除非一些高速单片机,否则你的功能是会比较难实现。
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2016-11-11 21:54:48 | 显示全部楼层
1微秒一次的中断,你想整死单片机吧。
回复

使用道具 举报

0

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2016-8-21
在线时间
44 小时
发表于 2016-11-12 08:31:31 | 显示全部楼层
只想说这个人眼能看出效果吗?
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-11-11
在线时间
5 小时
 楼主| 发表于 2016-11-12 12:39:44 | 显示全部楼层
操作系统 发表于 2016-11-11 21:54
1微秒一次的中断,你想整死单片机吧。

CPU没干别的工作就是SPI接收数据 之后要1us中断一次在中断里输出波形   CPU工作在1us中断应该是没问题吧
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-11-11
在线时间
5 小时
 楼主| 发表于 2016-11-12 12:40:19 | 显示全部楼层
翻身的闲鱼 发表于 2016-11-12 08:31
只想说这个人眼能看出效果吗?

当然是用示波器了
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-11-11
在线时间
5 小时
 楼主| 发表于 2016-11-12 15:14:21 | 显示全部楼层
操作系统 发表于 2016-11-12 12:59
有问题,没有这么个做法。你想输出波形。应该使用PWM功能。这个功能。不用CPU参与。普通的CPU响应中断, ...

哦 谢谢  PWM应该不行  我要说出36路波形  而且要输出哪里波形是SPI接收过来的数据决定的而且每路的周期不一定一样
回复

使用道具 举报

2

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2016-6-19
在线时间
195 小时
发表于 2016-11-12 17:18:20 来自手机 | 显示全部楼层
skey 发表于 2016-11-12 15:14
哦 谢谢  PWM应该不行  我要说出36路波形  而且要输出哪里波形是SPI接收过来的数据决定的而且每路的周期 ...

如果是控制36路舵机吗?
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-11-11
在线时间
5 小时
 楼主| 发表于 2016-11-14 18:16:19 | 显示全部楼层
12138 发表于 2016-11-12 17:18
如果是控制36路舵机吗?

不是舵机 就是输出36路任意波形 来点亮液晶屏
回复

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2015-11-16
在线时间
22 小时
发表于 2020-5-6 20:15:03 | 显示全部楼层
同样需求的飘过  去驱动6路波形 .请问大家有没有解决方案  ,是否可以480MHZ的H750解决问题.
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 13:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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