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值的公式为:
standar