crazyflie2终于可以连接到PC client -- 记录下之前遇到的困难和解决方法

今天终于成功连接到crazyflie PC client,一路走来很多bug,都一一解掉,下面总结下遇到的困难:

1,焊接问题

焊接的时候一定要多上焊锡,防止虚焊,不要为了美观上的焊锡少了,要不会有很多虚焊的引脚,浪费debug的时间

2,下载程序

刚开始使用jlink下载,透过官方的makefile文件,发现貌似对jlink支持不是很好,默认用的是st-link v2,还好之前买过一款STM32F4DISCOVERY的板子,上面自带st-link v2仿真器,于是开始尝试下载,STM32F4DISCOVERY正好预留SWD引脚,于是用杜邦线将线连接起来,需要注意线一定要连接正确:

(1)下载nrf51822用的是STM32F4DISCOVERY 板子上SWD排针的 2 3 4引脚

(2)下载stm32f405RG用的是STM32F4DISCOVERY 板子上SWD排针的 2 3 4 5 6引脚,也就是说两个都不会用到1脚

3,EEPROM读不出来数据

根据官方EEPROM的驱动程序,我移植到简单的裸机程序中,测试了下MPU9250和EEPROM,MPU9250可以很好的work,但是EEPROM总是读取不到数据,很奇怪,后来发现是SCL和SDA没有接上拉电阻造成的,加上1K上拉电阻之后,可以正常work。

4,nrf51822无线发送数据,crazyflieradio接收不到,导致PC client看不到连接状态

首先,先证明了下stm32跟nrf51822通过串口连接没问题,仔细量测uart的三根引脚,没有问题,然后修改nrf51822程序,当收到stm32发过来的数据的时候,nrf51822控制Blue LED闪烁,这个得到证明后,然后就看无线发送部分电路,首先看到BALUN那颗芯片,跟买到的JTI_2450BM15A0002 datasheet对比后发现,datasheet中引脚5是GND,而原理图画的是DC,接到了VDD_PA,所以导致VDD_PA一直是低电平,进而造成nrf51822无法发送失败,好难的bug。

下面图中是原版的画法,如果使用JTI_2450BM15A0002这款BALUN芯片,需要将5脚接地

crazyflie2终于可以连接到PC client -- 记录下之前遇到的困难和解决方法_第1张图片

一共焊接了两个板子,第一个板子由于供电不当,烧坏了电源和STM32那边的电路,第二块板子是正常的,上图表示纪念:

crazyflie2终于可以连接到PC client -- 记录下之前遇到的困难和解决方法_第2张图片

你可能感兴趣的:(crazyflie2终于可以连接到PC client -- 记录下之前遇到的困难和解决方法)