发新帖我要提问
12
返回列表
打印
[应用相关]

中断一次也进不去

[复制链接]
楼主: laozhongyi
手机看帖
扫描二维码
随时随地手机跟帖
21
朝生| | 2023-2-10 15:10 | 只看该作者 回帖奖励 |倒序浏览
中断函数有问题感觉。

使用特权

评论回复
22
Pretext| | 2023-2-10 15:10 | 只看该作者
你用CubeMX配置完后,正常在it.c里面应该有一个ADC中断函数。

使用特权

评论回复
23
SantaBunny| | 2023-2-11 10:19 | 只看该作者
在用DAC之前,你要开启内部参考源

使用特权

评论回复
24
公羊子丹| | 2025-4-6 07:36 | 只看该作者
感觉你进不了中断可能是 ADC12IE 的设置不对,0x08 是开了 ADC12IE3,但是你用的是 ADC12MEM0 和 MEM1 啊,得开 ADC12IE0 和 ADC12IE1 才能触发中断。

使用特权

评论回复
25
周半梅| | 2025-4-6 07:37 | 只看该作者
LPM4会关闭时钟源,ADC好像在LPM3或更低模式才工作得了,你试试改成 LPM0 或 LPM3 进入看看还能不能进中断。

使用特权

评论回复
26
帛灿灿| | 2025-4-6 07:39 | 只看该作者
ADC12CTL0 |= ADC12SC; 是一次触发起两个通道的转换吗?建议你确认下 ADC12CONSEQ_1 是不是按顺序转换多个通道然后只触发一个中断。

使用特权

评论回复
27
童雨竹| | 2025-4-6 07:40 | 只看该作者
你用的是 ADC12CONSEQ_1,这是序列模式,要用 ADC12IE1 开启 MEM1 的中断才行,MEM3 是不会触发的,除非你采样到第四个通道了。

使用特权

评论回复
28
万图| | 2025-4-6 07:41 | 只看该作者
有可能你中断根本没触发,是不是没清标志位?可以打断点看看 ADC12IFG 有没有置位,确认是没触发还是触发了但没跳进去。

使用特权

评论回复
29
Wordsworth| | 2025-4-6 07:42 | 只看该作者
中断没进可能是中断优先级没开,或者GIE没生效,断点单步看看 __bis_SR_register(LPM4_bits+GIE); 执行后是不是GIE位真的设置上了。

使用特权

评论回复
30
Bblythe| | 2025-4-6 07:44 | 只看该作者
建议把 ADC12_VECTOR 中断函数最前面打个断点,再触发一次采样看看能不能断进来,有时候不是中断没触发,而是配置的优先级/向量号有问题。

使用特权

评论回复
31
Pulitzer| | 2025-4-6 07:45 | 只看该作者
ADC_PORT_SEL |= 0xff; 这个有点大,确定你只想用P6.6和P6.7吧?可能影响别的通道,最好只设置对应位。

使用特权

评论回复
32
Uriah| | 2025-4-6 07:46 | 只看该作者
你可以试试看用单通道单次模式(ADC12CONSEQ_0),只采一个 A6 先排查一下中断是不是基本能触发,别一下子开两个通道。

使用特权

评论回复
33
Clyde011| | 2025-4-6 07:48 | 只看该作者
我建议你在 ADC12ISR 中加上默认情况打个标志或者LED点亮,确认有没有进中断但没进到你想的case,很多时候是 ADC12IV 不等于你预期的那项。

使用特权

评论回复
34
星闪动力| | 2025-4-7 17:16 | 只看该作者
先开内置参考电压,再看看中断能不能进去。

使用特权

评论回复
35
未来AI| | 2025-4-8 07:11 | 只看该作者
A0口的模拟输入稳定可靠,可能是寄存器没有配置正确。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则