OpenEdv-开源电子网

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

adc中断本来可以正常工作,但是配置定时器中断后,无法进入adc中断

[复制链接]

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
发表于 2015-8-9 10:35:41 | 显示全部楼层 |阅读模式
5金钱

问题就像题目说的,网上搜貌似其他人也有过这样的问题,据说是中断配置有问题,在此附上adc中断配置代码(adc我设置的是连续采样)

 ADC_ITConfig(ADC1,ADC_IT_EOC,ENABLE); NVIC_InitStructure.NVIC_IRQChannel=ADC_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x00; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03;

  NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStructure);

这个是中断函数里面的

void ADC_IRQHandler(void)

{

       extern u32 ADD_COUNT;

      extern u16 i;

     if(i<50)

     {

      ADD_COUNT+=Get_Adc(ADC_Channel_5); i++;

      }

    ADC_ClearITPendingBit(ADC1,ADC_IT_EOC);

}


最佳答案

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

抱歉,可能是我太相信jlink调试了,虽然设断点进不去(只能进一次,不能反复进去),但是如果配置led闪烁就可以进去了,而且应该是反复进去的。中断应该可以进去,只是调试不出来。程序在附件里,现在还有一个问题,就是adc采样频率太慢,我设置应该是1微秒左右采样一次的,但是结却几十微秒才采样一次(根据led闪烁频率估算)。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 10:35:42 | 显示全部楼层
抱歉,可能是我太相信jlink调试了,虽然设断点进不去(只能进一次,不能反复进去),但是如果配置led闪烁就可以进去了,而且应该是反复进去的。中断应该可以进去,只是调试不出来。程序在附件里,现在还有一个问题,就是adc采样频率太慢,我设置应该是1微秒左右采样一次的,但是结却几十微秒才采样一次(根据led闪烁频率估算)。

实验18 ADC实验.zip

5.04 MB, 下载次数: 915

回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 11:57:43 | 显示全部楼层
大神们帮帮忙啊,最近写的所有程序貌似都有类似问题,我都快疯了
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-8-9 12:01:44 | 显示全部楼层
中断优先级设置问题啊!!!ADC中断要比定时器中断高才行!!!
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 14:01:17 | 显示全部楼层
回复【3楼】FantaSy_:
---------------------------------
对啊,adc抢占优先级是0,上面配置的难道不对吗,然后定时器优先级是1。定时器是500ms进去一次的,adc我配置的速度很快,应该几微秒就可以进去一次中断,即使优先级有问题,adc中断应该也至少可以进去一次吧。
回复

使用道具 举报

4

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2015-7-31
在线时间
19 小时
发表于 2015-8-9 14:34:13 | 显示全部楼层
回复【4楼】匿名消息:
---------------------------------
你用什么验证进没进中断,用点明显的标志验证能进中断不,配置没错的话,还有中断清楚写在前面吧,这个全局变量写在头文件里,相应第一次使用的.c文件里申明初始化就好了
本人深山苦练20余年,一天只睡4小时,可连续编程100小时不休息,上至带项目、出方案,下至盗账号,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源万兆光纤永不断电断网,门口已埋雷无人打扰
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 14:55:14 | 显示全部楼层
回复【5楼】中二电子测控汪:在debug里中断函数里设置断点
---------------------------------
回复

使用道具 举报

4

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2015-7-31
在线时间
19 小时
发表于 2015-8-9 15:21:46 | 显示全部楼层
回复【6楼】匿名消息:
---------------------------------
没有相关源码不好说,你把你改的地方还原回去,然后一点点的修改,看是哪点出了问题让程序运行错误,这个方法还是可以的
本人深山苦练20余年,一天只睡4小时,可连续编程100小时不休息,上至带项目、出方案,下至盗账号,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源万兆光纤永不断电断网,门口已埋雷无人打扰
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 15:25:53 | 显示全部楼层
回复【7楼】中二电子测控汪:我唯一改的地方就是在主函数添加了一个定时器中断初始化函数,把他注释掉后就没问题了,可以进去adc中断了。
---------------------------------
回复

使用道具 举报

4

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2015-7-31
在线时间
19 小时
发表于 2015-8-9 15:50:35 | 显示全部楼层
回复【8楼】匿名消息:
---------------------------------
召唤 正点原子!!我是新手,我不知道,我帮你顶!汪汪汪
本人深山苦练20余年,一天只睡4小时,可连续编程100小时不休息,上至带项目、出方案,下至盗账号,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源万兆光纤永不断电断网,门口已埋雷无人打扰
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 15:54:32 | 显示全部楼层
原子哥,只有靠您了,麻烦您帮忙提一些意见啊
回复

使用道具 举报

4

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2015-7-31
在线时间
19 小时
发表于 2015-8-9 15:59:12 | 显示全部楼层
回复【10楼】匿名消息:
---------------------------------
把你源码贴出来,我用定时器同时生成pwm波然后又触发adc采样都可以,你竟然不行,让我来,打包传上来
本人深山苦练20余年,一天只睡4小时,可连续编程100小时不休息,上至带项目、出方案,下至盗账号,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源万兆光纤永不断电断网,门口已埋雷无人打扰
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 16:13:53 | 显示全部楼层
回复【11楼】中二电子测控汪:好的,马上,我整理一下,多谢帮忙
---------------------------------
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 16:27:30 | 显示全部楼层
回复【11楼】中二电子测控汪:抱歉,可能是我太相信jlink调试了,虽然设断点进不去(只能进一次,不能反复进去),但是如果配置led闪烁就可以看出进去了,而且应该是反复进去的。中断应该可以进去,只是调试不出来。程序在附件里,现在还有一个问题,就是adc采样频率太慢,我设置应该是1微秒左右采样一次的,但是结却几十微秒才采样一次(根据led闪烁频率估算)。然后代码已经发了。
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 16:31:14 | 显示全部楼层
周期好像不对,我再改一下
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 16:34:22 | 显示全部楼层
回复【12楼】匿名消息:
---------------------------------
应该可以了,最后结果就是jlink仿真中断可能不是特别好使,多谢热情帮忙,感激不尽。
回复

使用道具 举报

4

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2015-7-31
在线时间
19 小时
发表于 2015-8-9 18:02:12 | 显示全部楼层
回复【16楼】匿名消息:
---------------------------------
小伙子,你回复自己的楼层感谢什么。你要回复我哦。。╮(╯▽╰)╭
本人深山苦练20余年,一天只睡4小时,可连续编程100小时不休息,上至带项目、出方案,下至盗账号,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源万兆光纤永不断电断网,门口已埋雷无人打扰
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-8-8
在线时间
0 小时
 楼主| 发表于 2015-8-9 20:35:31 | 显示全部楼层
回复【17楼】中二电子测控汪:
---------------------------------
╮(╯▽╰)╭。。。。。
回复

使用道具 举报

37

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
836
金钱
836
注册时间
2016-12-22
在线时间
165 小时
发表于 2017-5-9 08:50:59 | 显示全部楼层
中二电子测控汪 发表于 2015-8-9 15:59
回复【10楼】匿名消息:
---------------------------------
把你源码贴出来,我用定时器同时生成pwm波然后 ...

大神,你的ADC中断可以的吧,可以看看你的源码吗?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2020-12-4
在线时间
10 小时
发表于 2020-12-24 16:00:11 | 显示全部楼层
1233333333333333333333333333333333333333333333333333333
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 08:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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