打印
[新手入门]

NRF通讯问题

[复制链接]
2171|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
robin0558|  楼主 | 2013-12-21 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 robin0558 于 2013-12-21 10:34 编辑

我写了一个通讯的测试:
遥控器发0X03,0X00,飞行器收到后马上转回来,遥控器收到了0X02,0X01.
监视飞行器的收发数据:收到的也是0X02,01,转发的是0X02,0X01.
这两个单片机代码的流程完全一致。互换模块也是一样的。看遥控器的MOSI发出的波形是对的。配置的时候使能了CRC,。
有谁知道原因吗?
规律是第一个字节的最低位会出现在第二个字节的最低位。0XFF,0XOO变成;0xfe,0x01
文件提取地址:  我的权限不能发链接,转一下 :yunpan.cn/QDq9nKqvGWNZg

相关帖子

沙发
-|continue;|-| | 2013-12-21 20:00 | 只看该作者
建议先排除SPI的问题,方法是向2.4G模块写入再读出,然后再对照DATASHEET看配置正确与否,可以除能CRC,用软件校验

使用特权

评论回复
板凳
robin0558|  楼主 | 2013-12-22 13:58 | 只看该作者
本帖最后由 robin0558 于 2013-12-22 21:08 编辑

确认是时序问题。是MISO的。飞行器上的问题。正在定位中。最后一个bit0不能被SPI控制器采样到。

降CPU主频可以解决

使用特权

评论回复
地板
robin0558|  楼主 | 2013-12-22 21:16 | 只看该作者
最终调节输出的驱动能力解决了。
    gpio_init.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_7;
    gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
    gpio_init.GPIO_Speed = GPIO_Speed_50MHz;低频率-低驱动能力,总线不能及时被驱动。,高驱动能力意味着震荡加剧了
    GPIO_Init(GPIOA, &gpio_init);

使用特权

评论回复
5
烈火狂龙| | 2013-12-24 14:43 | 只看该作者
robin0558 发表于 2013-12-22 21:16
最终调节输出的驱动能力解决了。
    gpio_init.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_7;
    gpio_init.GPIO_Mo ...

问题解决了吗? GPIO_Speed_50MHz没有啥问题的.SPI驱动时序要对.

使用特权

评论回复
6
robin0558|  楼主 | 2013-12-26 09:55 | 只看该作者
时序是可以的。就是驱动能力用的是偏低,就算spi时钟降低也是没用的。阻抗不匹配

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝