打印

msp430内部AD转换后中断唤醒cpu

[复制链接]
2591|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanghqi|  楼主 | 2013-9-24 21:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dengdc| | 2013-9-24 21:32 | 只看该作者
按键可以采用中断方式,也可以采用扫描方式,两种方式都可以工作在低功耗模式。扫描方式通过定时器定时扫描端口,不扫描的时候可以在LPM3模式下。

使用特权

评论回复
板凳
heweibig| | 2013-9-24 21:35 | 只看该作者
可以使用定时器Timer中断定时唤醒进行键盘扫描,一般100ms~200ms一次就差不多了。

使用特权

评论回复
地板
zhanghqi|  楼主 | 2013-9-24 21:36 | 只看该作者
谢谢啊,还有个问题msp430内部AD的时钟源怎么改呀,改成mclk(8mHz)后怎么转换速率比不改还慢?

使用特权

评论回复
5
wuhany| | 2013-9-24 21:38 | 只看该作者
怀疑是设置的问题

使用特权

评论回复
6
zhanghqi|  楼主 | 2013-9-24 21:39 | 只看该作者
怎么设置的?

使用特权

评论回复
7
zhanghqi|  楼主 | 2013-9-24 21:41 | 只看该作者
定时器中断,但内部AD也是中断,怎么解决冲突?

使用特权

评论回复
8
lizye| | 2013-9-24 21:41 | 只看该作者

两个中断的处理函数不同,不会互相影响。即使同时发生,也会先响应优先级高的那个,之后再响应优先级低的那个

使用特权

评论回复
9
shimx| | 2013-9-24 21:44 | 只看该作者

要修改时钟需要修改ADC12CTL1寄存器,ADC12SSELx位,可以选择输入的时钟源。

同时该寄存器中ADC12DIVx位决定了ADC的时钟速度,楼主可以检查一下

使用特权

评论回复
10
zhanghqi|  楼主 | 2013-9-24 21:44 | 只看该作者
如果按键用的是IO中断触发,中断中的代码有点长,按键触发后与AD中断有冲突,AD当前中断执行完,再响应按键中断,但是这时按键可能已经松开了,即使进入按键中断了,但没低电平了,消抖判不到按键。请问能不能打断当前中断(不执行完)直接进入另一个中断的方法,或者其他解决方法,谢谢!

使用特权

评论回复
11
jiaxw| | 2013-9-24 21:47 | 只看该作者
这个问题就是中断嵌入的考虑。建议还是采用i/o扫描的方式更适合

使用特权

评论回复
12
zhanghqi|  楼主 | 2013-9-24 21:47 | 只看该作者
哦,知道了,结贴啦

使用特权

评论回复
13
biechedan| | 2013-9-24 23:51 | 只看该作者
按键判断使用中断的。

使用特权

评论回复
14
vivilzb1985| | 2013-9-25 23:39 | 只看该作者
dengdc 发表于 2013-9-24 21:32
按键可以采用中断方式,也可以采用扫描方式,两种方式都可以工作在低功耗模式。扫描方式通过定时器定时扫描 ...

这个方式呢可行的,我也参考下的

使用特权

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

本版积分规则

852

主题

11757

帖子

5

粉丝