先来介绍一下L3GD20,据说该陀螺仪在目前的智能手机上广泛使用,既然广泛使用,那肯定有它自身的优点,我能想到的优点就是封装体积小(这个必须的),成本低(这个可能不一定),灵敏度高(这个看情况)。L3GD20与单片机通信的总线是全双工SPI总线+软件片选(即硬件片选脚不启用,而是用另一个GPIO来控制片选),另外,还有两个中断控制引脚INT1和INT2,在本程序中未启用。L3GD20能采集三个轴的加速度,分别是左右(X轴),前后(Y轴),自转(Z轴),因此能检测板子是平放,向左倾斜,向右倾斜,向前倾斜,向后倾斜或是顺逆时针转动。
初始化L3GD20,首先要初始化板子的SPI5接口(PF7~PF9),然后就是对里面的寄存器进行读写操作了。对寄存器的读写要严格遵循SPI总线访问寄存器的时序,读寄存器的时序为片选拉低——发送八位地址(第一位一定要置1,即adr&0x80)——发送八位数据的同时接收八位返回数据——延迟10微秒——片选拉高;
而写寄存器的时序为片选拉低————发送八位地址(第一位一定要置1,即adr&0x80)——发送八位数据——延迟10微秒——片选拉高。
STM32F4---SPI---L3GD20H
最新推荐文章于 2025-07-17 15:42:50 发布