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脚接地

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 03:55:57

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

入坑Intel OpenVINO:记录一个示例出错的原因和解决方法

今天试用OpenVINO的例子,在过程中发现了一些其他人没有经历的坑特别记录一下. 出错时候:执行Intel OpenVINO示例的是时候,出错的提示代码: 用于 .NET Framework 的 Microsoft (R) 生成引擎版本 15.9.21+g9802d43bc3 版权所有(C) Microsoft Corporation.保留所有权利. 8>C:\Intel\computer_vision_sdk_2018.5.445\deployment_tools\inference_eng

让PC端页面在手机端显示缩小版的解决方法

做页面的时候我们做好pC端页面时,因编辑那边需求,在手机端页面也应该是缩小版,不能乱的.在网上找了各种解决方案,经实验,这种是可以的: 在head里边加上这两句meta <meta name="apple-mobile-web-app-capable" content="yes">  <meta name="apple-mobile-web-app-status-bar-style" content="white&qu

记录几个遇到的问题和解决方法

1.服务端图片上传功能在eclipse里面没问题,部署到tomcat上面报错Cant create Cached file? 后来发现tomcat的目录里面没有temp文件夹,导致缓存文件无法创建而报错:解决方法是1.直接新建temp文件夹: 2.代码里面判断一下,没有就新建: String webroot = RequestContextUtils.getWebApplicationContext(request).getServletContext().getRealPath("/"

在思科路由器上部署EZVPN(PC Client)

1. 拓扑 1.1 逻辑拓扑 1.2 实验拓扑(GNS3+VMwareworkstation(Win7)) 2. 路由器配置 R3: hostname Internet interface FastEthernet0/0 ip address 192.168.100.3 255.255.255.0 no shutdown interface FastEthernet0/1 ip address 100.1.1.1 255.255.255.0 no shutdown R1: hostname GW

[WINDOWS MOBILE | SOLUTION] 通过有线连接到 PC 后,WM设备能 PING 通网关但是不能上网

在 Windows Mobile Device Center 处点击 Mobile Device Settings, Connection Settings, 选择 This computer connects to => The Internet 按 [OK] 退出 在 WM 设备上,设置 => 连接 => WLAN,选择我的网上连接到=>The Internet,按 [OK]. 待阅读:http://wenku.baidu.com/view/0d106313a216147917

64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接Oracle10g 在SqlServer2008 R2机器上需要安装Oracle客户端32位和64位两个,然后配置连接别名.设置注册表.详细情况见下面 1.错误1 ------------------------------------------------ 64位机器上建立OLE_DB链接报错 报

oracle account locked解决方法记录

今天在访问一个老项目时,后台报错提示 oracle account locked,之前一直可以正常访问的,不知道为什么会出现这个问题,百度一下原因大概是多次登陆失败造成的,一般数据库默认是10次尝试失败后锁住用户,找到原因后接下来就是解决问题了,解决思路很简单:对用户解锁就行了,但是问题就出现在了查找用户上. 本身对oracle的结构就不是很熟悉,所以在解锁用户的时候走了很多弯路,下面就一一道来: 一.因为数据库已久远,忘记了sys用户密码,所以只能远程到服务器登陆,在登陆是确遇到了另外一个错误

使用多字节字符集的跨平台(PC、Android、IOS、WP)编码/解码方法

随着移动端的发展,跨平台已成为通讯架构设计的重要考虑因素,PC.Android.IOS.WP等跨多平台间的数据通讯,必然要解决字符编码/解码的问题. 多字节字符集MBCS不是跨平台的首选字符集,面向跨平台.国际化的推荐字符集肯定是UNICODE. 写VC的人都知道,在以前VC++6.0中默认的字符集是多字节字符集,而VS2005及以后默认的字符集是Unicode,VS2013中默认不再对多字节字符串进行支持. 但对很多较早的服务端项目,依然使用的是多字节字符集,不过使用多字节字符集依然可以实现跨

SSH Secure Shell Client中文乱码的解决方法

这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要'UTF-8'编码,Windows中文版的编码是非UTF-8.zh_CN.UTF-8是UTF编码的中文语言环境.Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题:现有几种解决方案: 方案一:修改linux服务器的环境变量 使用linux,在用户根目录下有一个.bash_profile配置文件,该配置只对当前用户有效.若对