首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

大家用smac的时候遇到这种问题没有呀[急求]

大家用smac的时候遇到这种问题没有呀[急求]

请问大家在用smac的时候遇到这个问题没有,以下是我的一段应用程序

...
MLMERXEnableRequest(&gsRxPacket, 0); //13192进入接收状态
LOW_POWER_WHILE(); // _asm wait (挂起CPU,等待中断唤醒)
LED1 ^= 1; // 板载LED1闪烁
...
应用程序没有使用任何中断,并且关闭其他所有节点(即:无节点发送数据),但是LED1一直在闪烁,即有中断产生;如果屏蔽掉MLMERXEnableRequest(&gsRxPacket, 0),LED1就不会闪烁。有高手可以告诉我中断是怎么产生的吗?
这个问题在FSL的wireless Uart Demo程序中也出现了。小弟怀疑是smac中的问题,由于时间比较急,没有怎么吃透smac,请高手们现身指点。万分感谢!
我想LED1闪烁应该不是表明有中断产生的,这个是因为这个节点在你打开电源的时候,
灯会闪烁,直到和其他的节点通讯联系上,组在一个网络后,灯就不会再闪了。Wireless Uart的程序也是一样的。这个不是SMAC的问题。你可以在确认一下。
LED1 ^=1;是你自己的程序吧?

在MCU进入wait模式以后,是通过中断唤醒的,产生的是IRQ中断。因为在13192设置成RX模式以后,空间有很多noise,这些noise也会生成RX信息产生IRQ中断,但是在IRQ中断中经过判断会丢弃这些包。

把MLMERXEnableRequest(&gsRxPacket, 0)注释掉以后,13192处于idle状态,就没有IRQ中断,MCU保持wait状态。
返回列表