码迷,mamicode.com
首页 > 其他好文 > 详细

基于stm32的遥控小船(二)NRF24L01无线模块

时间:2016-09-08 20:14:26      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

无线收发数据我用的模块是NF24L01……这个模块小巧而便宜……几个引脚如图……功能大概是这样的

技术分享

 

CSN:片选,电平为低时芯片工作

CE:CSN为低时控制CE状态

SCK:SPI时钟

MOSI:Master output slave input

MISO:Master input slave output

IRQ:中断,低电平触发(发送完成,接收数据,达到最大重发次数时触发)

  关于这个模块详细的可以参照《NRF24L01学习笔记》……写的很全面详尽……

  调无线对我来说是一个比较痛苦的过程……我有一块野火的stm32vet6mini板,模块没有ISO那么全,但也是“万事俱备只欠模块”的学习板,我需要做的就是把这个例程移植到从机(RBT6)上并加以修改,这可难倒我了。当时我想,反正是同一系列芯片,引脚功能大体相同,我这边连PA0那边也接PA0不就好了……那么问题来了,VET6是个大板一共100个引脚,而RBT6只有64个脚还未完全引出,板子上根本没有PDX,PEX等等,无处可连!

  那么怎么办呢?查数据手册!表格里给出了引脚的名称,功能,复用功能,所以我只需要找到相同的功能然后连接就可以了,NSS,SCK,MISO,MOSI两块板上对应的均为PA4,PA5,PA6,PA7。查了每个引脚的功能之后,我们还剩下PE5,PE6(CE,CSN)没有解决……

技术分享

  例程里采用的是软件模拟SPI,所以我就找了两个这次用不到的引脚?(^∇^*),连线完成!

  我改好程序之后思路大概是这样的,连上矩阵键盘之后检测按键,当有某个按键按下时发送一个u8数组里的所有元素给从机,从机接受到数据之后进行相应处理,来决定PWM的占空比。

  在调试的时候又出现了一个问题:无论主机是否工作,从机都会在串口上打印出收到的数据为255 255 255 255。最开始我觉得可能是由于数据格式不对而产生了溢出,但后来发现我把主机和从机的模块调换一下,就会变成主机接受到从机端的数据为255,255,255,255

技术分享

  于是我确定了这是模块的问题!估计是在接线换线过程中把模块烧坏了,所以一直读出高电平的数据,换了个模块之后发送就正常了~

技术分享

基于stm32的遥控小船(二)NRF24L01无线模块

标签:

原文地址:http://www.cnblogs.com/ldgforever/p/5854191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!