哎。。我双机通信失败
不懂帮顶
帮顶了:lol
printf("%c",tmp_buf);printf("EORROR CODE=%o\n",NRF24L01_TxPacket(tmp_buf));
一会 %c,一会%o ,你要输出什么数据呢?
不懂帮顶
顺便学习一下,哈
绝笔程序有问题
安 发表于 2015-3-28 14:12
printf输出的数据是什么样的
printf("Sended DATA:\n");
for(i=0;i<33;i++)
printf("%c",tmp_buf);
这个是在串口终端上输出无线传输的数据,之前定义了u8 tmp_buf;数据缓存区
下面那个是如果通信失败才会打出十六进制的错误代码,你看我宏定义的和输出的不一致哇
#define MAX_TX 0x10
#define TX_OK 0x20
#define RX_OK 0x40
输出的十六进制是
printf("TX_OK=%o,MAX_TX=%o,RX_OK =%o\n\n",TX_OK,MAX_TX,RX_OK );
TX_OK=40,MAX_TX=20,RX_OK =100
zfz0122 发表于 2015-3-28 14:59
哎。。我双机通信失败
那是串口的问题喽,你看看上位机那边设置有没有问题,如果接受数据在条但是没有显示应该是波特率错了,看看数据位停止位之类的,要不程序贴出来,串口应该比SPI的简单点
wambob 发表于 2015-3-28 19:54
printf("%c",tmp_buf);printf("EORROR CODE=%o\n",NRF24L01_TxPacket(tmp_buf)); ...
两种情况啦
printf("Sended DATA:\n");
for(i=0;i<33;i++)
printf("%c",tmp_buf);
这个是在串口终端上输出无线传输的数据,之前定义了u8 tmp_buf;数据缓存区
下面那个是如果通信失败才会打出十六进制的错误代码,你看我宏定义的和输出的不一致哇
#define MAX_TX 0x10
#define TX_OK 0x20
#define RX_OK 0x40
输出的十六进制是
printf("TX_OK=%o,MAX_TX=%o,RX_OK =%o\n\n",TX_OK,MAX_TX,RX_OK );
TX_OK=40,MAX_TX=20,RX_OK =100