msp430编程遇到问题,望高手解答

[复制链接]
3111|11
 楼主| 饮冰21 发表于 2012-3-18 23:04 | 显示全部楼层 |阅读模式
用msp430内部AD转换后中断唤醒cpu,但是还有按键怎么判断?如果不行,牺牲低功耗的话,判键录入数据数据与AD转换怎么合理结合?希望高手解答
peter_zheng 发表于 2012-3-19 09:52 | 显示全部楼层
按键可以采用中断方式,也可以采用扫描方式,两种方式都可以工作在低功耗模式。扫描方式通过定时器定时扫描端口,不扫描的时候可以在LPM3模式下。
TI_MCU 发表于 2012-3-19 09:54 | 显示全部楼层
可以使用定时器Timer中断定时唤醒进行键盘扫描,一般100ms~200ms一次就差不多了。
爱之翼V 发表于 2012-3-19 16:38 | 显示全部楼层
二楼说得在理,楼主参考
 楼主| 饮冰21 发表于 2012-3-19 18:16 | 显示全部楼层
谢谢啊,还有个问题msp430内部AD的时钟源怎么改呀,改成mclk(8mHz)后怎么转换速率比不改还慢?怀疑是设置的问题,请问怎么设置的?
 楼主| 饮冰21 发表于 2012-3-19 18:23 | 显示全部楼层
定时器中断,但内部AD也是中断,怎么解决冲突? 3# TI_MCU
TI_MCU 发表于 2012-3-21 10:24 | 显示全部楼层
6# 饮冰21

两个中断的处理函数不同,不会互相影响。即使同时发生,也会先响应优先级高的那个,之后再响应优先级低的那个
TI_MCU 发表于 2012-3-21 10:26 | 显示全部楼层
5# 饮冰21

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

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

具体的楼主可以参考器件手册。
abcsmile 发表于 2012-3-21 11:52 | 显示全部楼层
谢谢了,我正好也需要
zhl100 发表于 2012-3-21 11:57 | 显示全部楼层
楼主看看手册
 楼主| 饮冰21 发表于 2012-3-21 19:06 | 显示全部楼层
8# TI_MCU
谢谢啊,如果按键用的是IO中断触发,中断中的代码有点长,按键触发后与AD中断有冲突,AD当前中断执行完,再响应按键中断,但是这时按键可能已经松开了,即使进入按键中断了,但没低电平了,消抖判不到按键。请问能不能打断当前中断(不执行完)直接进入另一个中断的方法,或者其他解决方法,谢谢!
peter_zheng 发表于 2012-3-21 20:50 | 显示全部楼层
11# 饮冰21 这个问题就是中断嵌入的考虑。建议还是采用i/o扫描的方式更适合
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:苍茫大地一剑尽挽破,何处繁华笙歌落

0

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部