一、选材(硬件选择); W9 ?# s: a2 [6 U* U9 M / a( r& B$ }/ M 首先说说硬件东西,毕竟这都是基于硬件上的。1 Q S- y5 j, r: G , ]( g# g9 A9 b 由于朋友所有硬件都已经买好了,它的目的很简单,只要功能实现了就好了,不用管其他外观、大小等等,都是买的现成的开发板。主控芯片(发射端)STM32F103C8T6,数据采集(MPU6050,该模块集加速度和陀螺仪于一身,是最好的选择了,我个人认为的,嘿嘿),数据传输(NRF24L01,2.4G无线传输),接收端芯片(STM32F103C8),都是现成的模块,这样一来,可以节省了自己设计板子,焊板子的时间了,不过我觉得还是自己设计一款板子比较好,根据需求可以将板子设计的小巧些,去掉好多不用的外设,跟方便、美观。 ! S+ `+ G% j7 H1 R 硬件就是这些东西了,最后在解决电源问题,一个完美的空中鼠标就这样了!想象都很激动……嘿嘿。 & p- ?) Z2 c/ H4 m 说到电源问题,我不得不说,一般单片机需要的电源是3.3V,要是外接电源就得考虑电源转换电路了,以及稳压问题。电源搞不好会烧坏板子的,自己曾经有过教训,在电源问题上吃了亏。记得那时在大二参加一次省的电子设计大赛中,当初做的是灭火小车,由于电源问题烧坏了好几块芯片,都是刚开始没有问题,小车跑着跑着就把芯片烧坏了……教训,血的教训啊!6 j0 W" \; l6 M/ X6 d. _- M * L( w) B3 O* z/ h( O4 Y6 w" G 二、模块的学习 : z3 o- K1 k( n3 d, f 由于这些模块自己都不是很熟悉,必须从数据手册上一一解读,可是花了好长时间。就拿MPU6050来说,就是比较复杂,可欣的是网上有了好多前辈们的研究成果,自己搞懂后有些可以拿过来直接用,真是感谢你们了!# A" i% ~) Z7 u ' o9 d1 X1 M. ] 由于各个模块涉及到的知识比较多,我会一一分开来谈谈我的看法,当然了具体的东西,还是看数据手册比较好了,如果我哪里说的不对,可以提出建议,大家一起交流,共同学习。如果觉得我说的都是废话,那我只能说浪费你的时间了,抱歉…… 模块一. USB协议分析+ A) L( r: z F$ A+ O$ }- Z% @ 当然这不能叫做模块了,但是这是在是一个重要而且难搞的东西,广USB协议这 块我看的时间最多,当然也只能懂个大概,USB水实在太深了,得在下功夫。4 f1 B2 I; _* n ' d* S5 _( S/ a* [/ C ) T8 U# q4 m: n! S$ K( ` |
基于STM32生成外部Flash Loader的方法经验分享
【经验分享】STM32驱动RC522读卡完整资料分享,包含原理图、PCB、驱动工程文件
【经验分享】HRTIMER 产生多相相移信号
基于STM32 DFSDM应用技术经验分享
基于STM32 快速入门 BlueNRG SDK 固件开发
基于STM32的BlueNRG 系列协处理器简介经验分享
获取编译时间作为版本号
【经验分享】STM32CubeIDE使用说明 —— 实时调试
宽禁带技术如何带来颠覆性变革
基于STM32的数据意外变化导致条件判断流程异常