基于stm32的遥控小船(二)NRF24L01无线模块
来源:互联网 发布:英雄联盟登录网络错误 编辑:程序博客网 时间:2024/04/28 01:37
无线收发数据我用的模块是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无线模块
- 基于stm32的遥控小船(一)L298N电机驱动
- 基于stm32的遥控小船(三)PWM调速
- 基于stm32的遥控小船(四)矩阵键盘
- 基于stm32与NRF24L01的无线门禁系统
- STM32控制NRF24L01无线模块进行通信
- 单片机基于2.4G无线收发模块NRF24L01的无线通信(基本测试通过)
- 单片机基于2.4G无线收发模块NRF24L01的无线通信(基本测试通过)续
- 基于STM32的无线飞鼠(二)
- NRF24L01无线模块
- STM32模块之NRF24L01
- STC89C52 STC89LE52 NRF24L01无线 教程 (二)
- 无线遥控开关模块
- 基于STM32的红外遥控重点解析
- nRF2401A vs nRF24L01+ 无线数传模块之间的区别
- nRF24L01 无线数传模块之间的区别 干货分析
- WiFi遥控小车(一):基于wicam模块的小车
- 基于STM32的学习型通用红外遥控设备的设计实现(二)
- 学习日记:jQuery之what,why,where,how及应用 (下)
- Day 9:(2)表的创建和管理实训_参考答案
- 笔记1:rdt2.0/rdt2.1和rdt2.2
- 此Blog不再更新,新Blog地址:itrandy.com
- Day 9:(3)数据的插入、修改、删除实训_参考答案
- 基于stm32的遥控小船(二)NRF24L01无线模块
- Day 9:(4)数据完整性实训_参考答案
- Day 9:(5)简单查询练习参考答案
- Android中子线程中更新UI的N中方法
- Java虚拟机类加载机制
- Day 9:(6)运算符及函数——参考答案
- 蓝懿ios 技术内容交流和学习心得 11.22
- 7.为Xamarin.Forms的图片控件添加手势
- POJ 1001 Exponentiation (高精度/大数乘法)