STM32操作NRF24L01与USB串口无线模块通讯问题记录

近日毕业设计需要使用32去控制NRF24L01进行无线通讯,为了方便,遂想移植原子的程序。在操作过程中遇到了很多问题,困扰我好几天,最后经学弟大神点拨下,成功破冰。这些问题还是比较头疼的,特别对NRF24L01和32不熟的我来说一旦碰上了很难找到出错点。

调试NRF24L01需要两块模块,所以准备一个用单片机STM32F103C8T6操作,另外一个NRF24L01直接用USB串口转NRF24L01的板操作,这样保证其中一方是绝对正确的,就是长这样的一样东西。


下面是遇到的主要问题:

Q1:为什么我连NRF24L01的自检都不能通过?

A1:可能接线不对,我之前是把线接到了JTAG相关的接口上,似乎冲突了。最后是禁用了JTAG相关功能才让模块成功自检,或者直接换IO口,不冲突即可。


Q2:为什么不能发送接收数据?

A2:原子的程序设置RF_CH为40,而USB串口无线模块使用NRF24L01默认的设置也就是0(即2.400GHz),将RF_CH改为0就正常了,注意发送模式和接收模式的函数里都要改。


Q3:为什么单片机端发送数据,电脑的串口助手不显示?

A3:USB串口无线模块需要其制定的格式才会正确接收并显示在串口助手。


最后归纳一下,还是因为对硬件的不了解,移植的例程是没问题的,在我们移植过后出了问题那就是我们的修改出现的失误,避免这些问题就需要我们有扎实的基础,即便再出现这类问题,我们也可以一步步将其解决,而不是对着电路板干着急。

猜你喜欢

转载自blog.csdn.net/gan19951101/article/details/79965698