先上图:
上图使用的是两块NUCLEO-STM32L053,一块NUCLEO-IDB05A1,一块NUCLEO-IDB04A1,两块蓝牙板子,一个使用的是BlueNRG,一个是BlueNRG-MS,这次带来BlueNRG的最大吞吐量测试,
在下载目录中找到SampleAppThT例程,使用Keil打开工程,在设置界面,C++标签Define中添加THROUGHPUT_TEST,烧录到其中的一块板子中,接下来将Define中原来定义的CLIENT_ROLE修改为SERVER_ROLE,然后烧录到另一块板子中。都通电后在烧录的SERVER_ROLE的板子上按下蓝色按钮,接下来打开串口,如下:
可以发现通信速度高达155kpbs,除以8也就是19.375 KB/s,通过仔细查看代码后我确定这是可靠的,因为他是通过接收到的数据来解算吞吐量的,500个通信包,耗时516ms,接近1ms一个包,这个速度比NRF24L01要快。当然这是在两个BlueNRG的情况下的速度,手机蓝牙与BlueNRG通信那就不一定了,受手机蓝牙芯片和编程的不同,会很不一样,有时候只能达到几个数据包每秒。