在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2769|回复: 1

ZigBee问题求助

[复制链接]
发表于 2009-2-12 14:25:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
小弟用的是FreeScale的mc13213解决方案,研究的例程是基于BeeStack的Wireless uart Demo。在这个例程中,我想在Router加入网络后(没有绑定设备之前)手动向Coordinator发送数据(比如0x1234),并在Coordinator接收到数据后将此数据发送回PC。我对Router一端的ASL_Userinterface.c文件的void ASL_UpdateDevice函数里面的
case gZDOToAppMgmtZCRunning_c:
case gZDOToAppMgmtZRRunning_c:
case gZDOToAppMgmtZEDRunning_c:
做了如下修改:
case gZDOToAppMgmtZCRunning_c:
case gZDOToAppMgmtZRRunning_c:
case gZDOToAppMgmtZEDRunning_c:
appState = mStateZDO_device_running_c;
ASL_ConfigSetLed(LED1,gLedStopFlashing_c);
ASL_ConfigSetLed(LED1,gLedOn_c);
#if ((gCoordinatorCapability_d == 1) || (gRouterCapability_d == 1))
ASL_ConfigSetLed(LED2,gLedOn_c);
#endif
LCD_WriteString(1,(uint8_t *)gsASL_Running);
ASL_DisplayLine2OnLCD();
PhyAssert(mPhyTxRxState==cBusy_Tx);
MC1319xDrv_WriteSpiSync(TX_DATA, 0x1234);
break;
即添加了语句PhyAssert(mPhyTxRxState==cBusy_Tx);和MC1319xDrv_WriteSpiSync(TX_DATA, 0x1234);
相应的我在Coordinator一端的程序中,在Mc1319xHandler.c文件中的INTERRUPT_KEYWORD void MC1319xInterrupt(void)函数里的if (retReg & cRX_DONE)条件中做了如下修改:
if (retReg & cRX_DONE)
{

#if USE_INTERRUPT_RXEOF
PhyPlmeSyncLossIndication();
goto IsrExit;
#else
DummyIsr();
#endif
MC1319xDrv_ReadSpiSync(RX_DATA, datar);
datapc = (*datar)&0x00ff;
SCI2D= datapc;
}
其中datar定义是uint16_t *datar;datapc定义是unsigned char datapc;
这样编译烧写运行发现,Router加入网络后Coordinator确实能向pc传回字符,但是传回的却是黑色上三角,然后Coordinator就停止响应(进入“死机”状态,只能复位),并且不管我在Router端发送什么数据,传回的都是黑色上三角符号,请问这是为什么?要是修改的话应当怎样改?请说的详细一点,谢谢!我是个ZigBee的初学者。
发表于 2009-2-15 18:11:59 | 显示全部楼层
好啊, 真是太好了,
正需要的呢, 太感謝了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-19 03:11 , Processed in 0.036899 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表