系统用的MCU 是MSP430F5438A ,系统资源要用到RTC 和串口的IRDA 功能。资料上提示RTC 时钟只能选择ACLK =32768HZ的时钟.IRDA工作需要UCOS16 = 1,BRCLK需要1MHZ以上。如果我使用内部的REFO的32768HZ晶振就需要使用FLL和DOC 部分才能产生1MHZ的时钟SMCLK供IRDA使用。在进入低功耗状态是RTC 或IRDA 接受中断唤醒MCU ,这样IRDA和RTC的时钟都要有,这样只能进入Low-power mode 0,功耗还是有点大。用外部XL1加晶振1MHZ 工作在HF 方式功耗也不低。现在觉的很矛盾。大家怎么看法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
是使用IRDA接收数据来唤醒MCU ,你的意思是使用发送IRDA 数据来唤醒MCU 。
1:你现在使用IRDA 接受中断唤醒MCU,这里假设这个中断使用的是单片机的端口Px.x,那么把这个Px.x同时接到另外一个支持上升/下降沿中断唤醒的端口Py.y;
2:不使用IRDA模块的中断唤醒功能!
3:使用Py.y的中断功能唤醒单片机,该功能不需要高频时钟!因此可以使用LPM3甚至LPM4。
外部存在红外信号时,Px.x和Py.y上必然有高低电平变化,必然产生上升/下降沿,必然能唤醒单片机。唤醒后红外以及其它该怎么处理就怎么处理
解释的我口干舌燥……
一周热门 更多>