OpenEdv-开源电子网

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

请教一下大家和原子哥,关于ADC的使用问题

[复制链接]

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
发表于 2022-7-20 10:44:00 | 显示全部楼层 |阅读模式
1金钱
请教一下大家和原子哥,关于ADC的使用问题,我现在使用ADC进行数据采集,没有用DMA的方式,在进行数据采集时,串口中断就用不了了,这是咋回事

最佳答案

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

不要在中断里干活,这是最起码的原则。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3359
金钱
3359
注册时间
2011-11-10
在线时间
207 小时
发表于 2022-7-20 10:44:01 | 显示全部楼层
不要在中断里干活,这是最起码的原则。
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2022-7-20 10:44:33 | 显示全部楼层

请教一下大家和原子哥,关于ADC的使用问题,我现在使用ADC进行数据采集,没有用DMA的方式,在进行数据采集时,串口中断就用不了了,这是咋回事
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2022-7-20 10:51:06 | 显示全部楼层
adc采集和串口中断不影响的哦,检查下是不是代码逻辑上哪里有问题导致的
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2022-7-20 10:53:12 | 显示全部楼层
狼里个狼121 发表于 2022-7-20 10:51
adc采集和串口中断不影响的哦,检查下是不是代码逻辑上哪里有问题导致的

正常来说是这样,我把ADC采集放在定时器中断3里,通过串口3中断进行指令读取,屏蔽ADC就没问题,加上ADC就有问题,很奇怪
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-7-20 10:58:37 | 显示全部楼层
支持者2400 发表于 2022-7-20 10:53
正常来说是这样,我把ADC采集放在定时器中断3里,通过串口3中断进行指令读取,屏蔽ADC就没问题,加上ADC ...

一次只能有一个中断在工作 高优先级的中断能打断低优先级的中断 很明显你的串口中断优先级太低了
另外不要在中断里让单片机干活 弄不好就会出现你这种情况
中断里一般做个判断设置标志之类的工作 然后退出中断在主程序里通过标志位来判断是否采集 好让其他的中断有机会去干活
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2022-7-20 11:03:06 | 显示全部楼层
babyrabbit 发表于 2022-7-20 10:58
一次只能有一个中断在工作 高优先级的中断能打断低优先级的中断 很明显你的串口中断优先级太低了
另外 ...

我的串口中断优先级是最高的,之前通过别的传感器采集温度,程序逻辑没有任何问题,现在通过ADC采集温度,就出现这个问题了
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2022-7-20 11:10:29 | 显示全部楼层
babyrabbit 发表于 2022-7-20 10:58
一次只能有一个中断在工作 高优先级的中断能打断低优先级的中断 很明显你的串口中断优先级太低了
另外 ...

使用DMA+ADC的方式会不会好一些
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-7-20 14:15:28 | 显示全部楼层
支持者2400 发表于 2022-7-20 11:10
使用DMA+ADC的方式会不会好一些

这两个中断的抢占优先级是一组的吗 同一组的也不行
温度是缓变量 你的采集速率要求高吗 不高的话用不用DMA感觉没什么影响 只要别在中断里去采集就行
回复

使用道具 举报

11

主题

2141

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4847
金钱
4847
注册时间
2015-1-10
在线时间
607 小时
发表于 2022-7-20 16:13:15 | 显示全部楼层
ADC建议用DMA,除非是DMA通道用完了或是低功耗需求,
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-26 18:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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