注册 登录
查看: 653|回复: 10

[K60] NRF2401的主从模式问题

[复制链接]
发表于 2013-8-11 10:32:07 | 显示全部楼层 |阅读模式
按理说NRF2401通信应该是一个主模块和一个从模块对吧,但我看到你们的例程里边配置的都是主模式 spi_init(NRF_SPI,MASTER);  ,是这一句配置主从模式的吧,如果按照你们的例程两块全部是主模式的话,一个模块串口会接收(主机端 接收到 从机端 的应答信号,发送成功!) 而另外一个模块串口会接受( 主机端 接收出错。),但我要是把我其中一个改为从机模式的话,串口就会接收不到数据,这是怎么回事呢,求解释
回复

使用道具 举报

发表于 2013-8-11 18:40:45 | 显示全部楼层
本来 单片机 与 nrf 之前就是主从关系,nrf 固定了做从机的,你非要单片机做从机,所以整个spi总线都没主机,肯定通信不了
回复 支持 反对

使用道具 举报

发表于 2013-8-11 18:41:32 | 显示全部楼层
NRF2401,是一个接收,一个发送,与单片机的通信,是固定了做从机
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-11 22:32:19 | 显示全部楼层
说不得 发表于 2013-8-11 18:40
本来 单片机 与 nrf 之前就是主从关系,nrf 固定了做从机的,你非要单片机做从机,所以整个spi总线都没主机 ...

但是就算两块单片机全部设置成主机模式,接受模块也总是显示(主机端接收出错)是怎么回事呢
回复 支持 反对

使用道具 举报

发表于 2013-8-11 23:07:32 | 显示全部楼层
杀神12300 发表于 2013-8-11 22:32
但是就算两块单片机全部设置成主机模式,接受模块也总是显示(主机端接收出错)是怎么回事呢

你是直接用山外哥的例程吗?接收模块要与发送模块配置相同的通道,相同的地址,接收模块要进入接收状态,自动应答,这样才能实现的。
用山外哥的例程,是有发送和接收两个不同的代码,需要分开下载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-11 23:50:04 | 显示全部楼层
说不得 发表于 2013-8-11 23:07
你是直接用山外哥的例程吗?接收模块要与发送模块配置相同的通道,相同的地址,接收模块要进入接收状态,自 ...

是的我就是这么操作的!通过printf函数,可以看到发送模块是正常的,并且发送成功!但接受模块printf显示主机端接收出错,我用printf发送status发现status = NRF_Rx_Dat(rxbuf);中的status=0;是哪里出错了呢
回复 支持 反对

使用道具 举报

发表于 2013-8-12 00:58:12 | 显示全部楼层
杀神12300 发表于 2013-8-11 23:50
是的我就是这么操作的!通过printf函数,可以看到发送模块是正常的,并且发送成功!但接受模块printf显示 ...

应该是可行的,你用山外哥的小霸王测试的?还是自己连线?
自己连线,抄袭山外哥的小霸王原理图连线就好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-12 11:19:47 | 显示全部楼层
蒜你狠 发表于 2013-8-12 00:58
应该是可行的,你用山外哥的小霸王测试的?还是自己连线?
自己连线,抄袭山外哥的小霸王原理图连线就好

我就是这么做的   但是就是不行的
回复 支持 反对

使用道具 举报

发表于 2013-8-12 11:56:39 | 显示全部楼层
杀神12300 发表于 2013-8-12 11:19
我就是这么做的   但是就是不行的

那得自己找找原因咯,用山外哥的小霸王,试过是可行的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-12 17:31:32 | 显示全部楼层
蒜你狠 发表于 2013-8-12 11:56
那得自己找找原因咯,用山外哥的小霸王,试过是可行的

你把你邮箱给我吧  我把我的程序给你,你试试看能用不?因为我发现山外哥给的例程,时间不一样,会有所区别的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-12 22:17:11 | 显示全部楼层
蒜你狠 发表于 2013-8-12 11:56
那得自己找找原因咯,用山外哥的小霸王,试过是可行的

山外哥不是带了两个SPI程序嘛,一套是等待发送接收,一套是中断发送接收,中断发送接收可以实现,但等待发送接收不行 这是为什么呢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部