zfz0122 发表于 2015-3-28 14:59:50

哎。。我双机通信失败

nocoyou 发表于 2015-3-28 19:26:33

不懂帮顶

wambob 发表于 2015-3-28 19:52:32

帮顶了:lol

wambob 发表于 2015-3-28 19:54:36

printf("%c",tmp_buf);printf("EORROR CODE=%o\n",NRF24L01_TxPacket(tmp_buf));                        
一会 %c,一会%o ,你要输出什么数据呢?

数码小叶 发表于 2015-3-28 21:37:57

不懂帮顶

数码小叶 发表于 2015-3-28 21:38:18

顺便学习一下,哈

Small利 发表于 2015-3-28 22:13:49

绝笔程序有问题

at89 发表于 2015-3-30 12:42:50

安 发表于 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

at89 发表于 2015-3-30 12:44:47

zfz0122 发表于 2015-3-28 14:59
哎。。我双机通信失败

那是串口的问题喽,你看看上位机那边设置有没有问题,如果接受数据在条但是没有显示应该是波特率错了,看看数据位停止位之类的,要不程序贴出来,串口应该比SPI的简单点

at89 发表于 2015-3-30 12:45:46

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
页: 1 [2] 3
查看完整版本: NRF24L01宏定义与实际值不一致