你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NRF24L01宏定义与实际值不一致

[复制链接]
at89 提问时间:2015-3-27 16:47 /
阅读主题, 点击返回1楼
收藏 评论23 发布时间:2015-3-27 16:47
23个回答
wyxy163@126.com 回答时间: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[32];数据缓存区
下面那个是如果通信失败才会打出十六进制的错误代码,你看我宏定义的和输出的不一致哇
#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[32];数据缓存区
下面那个是如果通信失败才会打出十六进制的错误代码,你看我宏定义的和输出的不一致哇
#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:46:05

请指教,多谢啦哈
wamcncn 回答时间:2015-3-30 12:49:47
at89 发表于 2015-3-30 12:42
printf("Sended DATA:\n");      
for(i=0;i

%O 不是输出八进制数吗
moyanming2013 回答时间:2015-3-30 12:52:59
是不是根本就没有使用你查看的头文件中的定义呢?
废鱼 回答时间:2015-3-31 08:45:30
把o%缓冲x%,你这输出的是八进制啊。。。。。。。。。
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版