zigbee模块(CC2530)串口通信问题

Zigbee模块是DL-30 淘宝买的 芯片是(cc2530) 两个模块通信 正常。
板子是IMX1052芯片 和上位机的通信 无论是接收还是发送 都是正常。
zigbee模块加到IMX1052芯片上后 与上位机通信 板子可以向上位机发送信息 上位机显示 正常。

但 上位机发送数据给zigbee 无效。单步调试发现板子接收缓存区好像收不到信号? 但板子直接用ttl转串口 完全可以。
代码如下

aw_local void __serial_task (void *p_arg)
{
#define TEST_SERIAL_NUM COM0

char    Readbuf[80];
char    Writebuf[80] = "Hello,Enter Serial INT  Mode:\r\n";
int     len = 0;
int     i   = 0;

//设置串口为中断模式
aw_serial_ioctl(TEST_SERIAL_NUM, SIO_MODE_SET, (void )SIO_MODE_INT);
//设置串口波特率 数据位校验位
aw_serial_ioctl(TEST_SERIAL_NUM, SIO_BAUD_SET, (void *)115200);
aw_serial_ioctl(TEST_SERIAL_NUM, SIO_HW_OPTS_SET, (void *)(CS8 | CLOCAL | CREAD));
//设置串口接收超时
aw_serial_ioctl(TEST_SERIAL_NUM, AW_TIOCRDTIMEOUT, (void *)200);
//打印两句话
aw_serial_write(TEST_SERIAL_NUM, "Hello, uart test:\r\n", 19);
aw_serial_write(TEST_SERIAL_NUM, "start\r\n", 7);
for(;;)
{
//接收读取缓存区数据
len = aw_serial_read(TEST_SERIAL_NUM, Readbuf, sizeof(Readbuf));
if (len > 0)
{
aw_serial_write(TEST_SERIAL_NUM, Readbuf, len);
aw_serial_write(TEST_SERIAL_NUM, "\r\n", 2);
//接收到0000 退出循环
if (strncmp(Readbuf, "0000", 4) == 0)
{
break;
}
}
// aw_serial_write(TEST_SERIAL_NUM, "work is run\r\n", 13);
}
aw_serial_write(TEST_SERIAL_NUM, "work is over\r\n", 14);
}
void demo_serial_entry (void)
{
/
定义任务实体,分配栈空间大小为1024 */
AW_TASK_DECL_STATIC(task0, 1024);

AW_TASK_INIT( task0,             /* 定义的任务实体 */
             "task0",            /* 任务名 */
              2,                 /* 任务优先级 */
              1024,              /* 任务栈大小 */
              __serial_task,     /* 任务的入口函数 */
              NULL);             /* 传递给任务的参数 */

AW_TASK_STARTUP(task0);          /* 启动任务 */

}

有大佬知道原因或者遇到过类似问题吗? 求解答,在线等,急!!!!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问