Board logo

标题: 运行时出现的一个问题 [打印本页]

作者: 微毫度十分个扩大飞机公婆    时间: 2006-12-19 22:18     标题: 运行时出现的一个问题

当我写了以下程序,编译通过,在运行后fficeffice" />


UseMcuClock();


                            MLMEHibernateRequest(); //MC13192 now consuming 3 uA


                            MCUDelay (WALKON);


                            MLMEWakeRequest();


                            UseExternalClock();


                            MLMERXEnableRequest(&rx_packet, 0x);


发现在while (gu8RTxMode != IDLE_MODE_ATTN)


    {


        MCU_LOW_POWER_WHILE();       /* Wait until ATTN */


这两句之间出现死循环,不知道是什么原因?


作者: seuafu2005    时间: 2006-12-20 10:25

MCU_LOW_POWER_WHILE(); 是进入wait模式,等待唤醒
要把你整个情况说明白,另外,要先运行smac的示例程序,在此基础上再做修改
先在freescale提供的硬件平台上运行,排除硬件的问题
作者: 微毫度十分个扩大飞机公婆    时间: 2006-12-20 16:49

while (gu8RTxMode != IDLE_MODE_ATTN)



{



MCU_LOW_POWER_WHILE(); /* Wait until ATTN */

它是程序在执行MLMEWakeRequest();后
自动调用simple_phy.c后出现的语句,程序到这一块就是走不过去了,按道理说执行MLMEWakeRequest();应该很顺畅才对啊...
我单步调了一下,发现gu8RTxMode==135所以走不过去,我把IDLE_MODE_ATTN用135代替走过去了,但循环第二次到这儿时gu8RTxMode==132,又过不去了
于是我直接在simple_phy.c中将
while (gu8RTxMode != IDLE_MODE_ATTN)
{
MCU_LOW_POWER_WHILE(); /* Wait until ATTN */
}
这一语句删了,不知道会不会影响原函数的功能呢???

作者: 微毫度十分个扩大飞机公婆    时间: 2006-12-20 16:51

想想就调用了一个函数,
MLMEWakeRequest();



没想到会出现问题,难道调用它时要先预处理一些东西吗?
作者: seuafu2005    时间: 2006-12-20 17:18

先给你出你用的什么程序。
先看MCU数据手册了解基本信息




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0