STM32控制三軸加速度传感器实现分析.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32控制三軸加速度传感器实现分析

HYPERLINK /iceiilin/article/details/6060993 STM32控制三轴加速度传感器实现分析(1) 分类: HYPERLINK /iceiilin/article/category/762925 stm322010-12-07 16:31331人阅读 HYPERLINK /iceiilin/article/details/6060993 \l comments 评论(0) HYPERLINK javascript:void(0); \o 收藏 收藏 HYPERLINK /iceiilin/article/details/6060993 \l report \o 举报 举报 买的stm32F107VC开发板,带三轴加速度传感器LIS302DL,附带的示例代码。学习了几天,总结如下。 1。逻辑结构 初始化各外设(RCC,GPIO,SPI,NVIC,I2C,LCD)——检测MEMS并显示检测状态——在死循环中不断查询加速度值并描画。 2。硬件原理 与该程序相关的硬件连接图: MEMS连接图 MEMS引出脚与MCU(左)、IO扩展(右下)连接图 LCD连接图 LCD引出脚与MCU(左)、IO扩展(右上)连接图 从图中可以看出,MEMS使用I2C接口SCL和SDA连接MCU;LCD使用SPI3接口连接MCU。两者的其余引出脚(INT1, 2, TouchScreenXY+-)均连接到IO扩展。IO扩展部分的原理图为: 它由两块touchScreen控制芯片组成,同样挂在I2C总线上。该部分的原理还没弄清,代码中怎么控制这两块芯片的动作,MEMS INT1,2连接扩展口的意义何在,是如何作用的,有待进一步研究。 HYPERLINK /iceiilin/article/details/6061613 STM32控制三轴加速度传感器实现分析(2) 分类: HYPERLINK /iceiilin/article/category/762925 stm322010-12-07 20:13505人阅读 HYPERLINK /iceiilin/article/details/6061613 \l comments 评论(0) HYPERLINK javascript:void(0); \o 收藏 收藏 HYPERLINK /iceiilin/article/details/6061613 \l report \o 举报 举报 MEMS控制原理 在程序动作前,需要初始化系统中断向量表(使用NVIC_SetVectorTable函数),配置系统时钟、使能各外设时钟(SystemInit,RCC_APB2PeriphClockCmd,RCC_APB1PeriphClockCmd)。 1。GPIO PB6,PB7分别作为SCL和SDA。查找STM32芯片手册的AFIO部分, 将PB6,PB7作为SCL和SDA使用不需要进行重映射,因此只需初始化其模式、速度。 2。I2C (1)外设时钟频率 外设时钟频率fPCLK1需写入CR2寄存器的最低六位,写入值的单位为MHz。因此,把RCC中PCLK1的频率值除以1000,000后,放入CR2中。 (2)CCR (clock control register) 该值控制master模式下的I2C时钟。 I2C传输分为standard mode (fSCL = 100kHz) 和fast mode (fSCL = 400kHz)。fast mode分为 tlow/thigh = 2 和 tlow/thigh = 16/9 两种。图示如下。16/9类同。 CCR值的公式为: standard mode: Thigh = CCR * TPCLK1 Tlow = CCR * TPCLK1 fast mode: 比例为2: Thigh = CCR * TPCLK1 Tlow = 2 * CCR * TPCLK1 比例为16/9: Thigh = 9 * CCR * TPCLK1 Tlow = 16 * CCR * TPCLK1 因此,计算CCR值的方法为: standard mode: CCR = Thigh / TPCLK1 = 0.5 * TSCL / TPCLK1 = fPCLK1 / (2 * fSCL) (代码中结构体的变量I2C_ClockSpeed即为fSCL) fast mode: 比例为2: CCR = Thigh / TPCLK1 = (1 / 3) * TSCL / TPCLK1 = fPCLK1 / (3 * fSCL) 比例为16/9: CCR = fPCLK1 / (25 * fSCL) 在CCR中,standard mode下最小值为0x04,fast

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档