OpenEdv-开源电子网

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

求助!用定时器频率20KHz触发DAC DMA发生正弦波。频率太快导致主循环里的操作都无响应了,应该怎么解决?

[复制链接]

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2020-5-16
在线时间
31 小时
发表于 2021-7-10 11:22:19 | 显示全部楼层 |阅读模式
5金钱
求助如题,大家有没有解决办法

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3386

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8625
金钱
8625
注册时间
2020-5-11
在线时间
4056 小时
发表于 2021-7-10 11:38:41 | 显示全部楼层
专治疑难杂症
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2020-5-16
在线时间
31 小时
 楼主| 发表于 2021-7-10 11:41:25 | 显示全部楼层
LcwSwust 发表于 2021-7-10 11:38
定时中断干啥了?

sConfig.DAC_Trigger = DAC_TRIGGER_T2_TRGO;  就是DAC用定时器2中断触发
回复

使用道具 举报

12

主题

3386

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8625
金钱
8625
注册时间
2020-5-11
在线时间
4056 小时
发表于 2021-7-10 11:56:01 | 显示全部楼层
317863066 发表于 2021-7-10 11:41
sConfig.DAC_Trigger = DAC_TRIGGER_T2_TRGO;  就是DAC用定时器2中断触发

那你的定时器2有没有使能中断?有没有中断服务函数?中断服务函数里干啥了?
专治疑难杂症
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2020-5-16
在线时间
31 小时
 楼主| 发表于 2021-7-10 12:21:45 | 显示全部楼层
中断使能了 中断回调里没有做操作 就是dac这样设置之后会自动在定时器进一次中断后输出一次
回复

使用道具 举报

0

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1868
金钱
1868
注册时间
2016-10-23
在线时间
261 小时
发表于 2021-7-10 17:19:59 | 显示全部楼层
不方便整个工程就附上代码段
6年嵌入式老玩家 深圳
回复

使用道具 举报

0

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1868
金钱
1868
注册时间
2016-10-23
在线时间
261 小时
发表于 2021-7-10 17:22:58 | 显示全部楼层
tim里面应该要开启这一句
TIM_SelectOutputTrigger(TIM4,TIM_TRGOSource_Update);
中断都可以不开

即使20khz也不应该 loop都跑不动,能debug,就看下有没跑飞。
不能debug 放几个led灯 在程序各个地方看led状态。
6年嵌入式老玩家 深圳
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3359
金钱
3359
注册时间
2011-11-10
在线时间
207 小时
发表于 2021-7-10 22:33:33 | 显示全部楼层
20K 也就是50ms一个点,即便是8M的单片机处理也也太轻松了。仔细检查你的程序,跟踪一下都干啥了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-8 11:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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