资源简介
基于STM32F4xx系列芯片,MS5611气压传感器使用SPI接口的程序源码,实现了对温度、气压、海拔的采集计算。关键字:MS5611 SPI STM32F4xx
pressure sensor SPI interface program source code, the realization of temperature, pressure, collecting calculate altitude.
代码片段和文件信息
/*功能描述:MS5611大气压强模块数据采集计算 V1.0*/
/********************************************************************************
* @file atmosphere.c
* @author pei4566
* @version V1.0.2
* @date 04-October-2015
* @brief pressure sensor SPI interface program source code
* the realization of temperature pressure collecting calculate altitude.
*
*********************************************************************************/
#include “hardware.h“
u16 setupC1C2C3C4C5C6CRC_1; //用于存放PROM中的8组数据
unsigned long D1_PresD2_Temp; //用于存放温度和压力
double OFFSENS; //实际温度抵消、实际温度灵敏度
float dTTemperaturePressure; //实际和参考温度之间的差异、温度值、压力值
float TEMP2AuxOFF2SENS2; //温度检验值
/*******************************************************************************
大气压强模块用到的SPI1接口初始化
函数名称:SPI1_Init
输入参数:void
输出参数:void
*******************************************************************************/
void SPI1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
SPI_InitTypeDef SPI_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA ENABLE);//使能GPIOA时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 ENABLE); //使能SPI1时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB ENABLE);//使能GPIOB时钟
GPIO_InitStructure.GPIO_Pin = ATMOSPHERE_NSS_PIN; //PA4
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(ATMOSPHERE_GPIO &GPIO_InitStructure); //初始化
GPIO_InitStructure.GPIO_Pin = ATMOSPHERE_SCK_PIN|ATMOSPHERE_MISO_PIN|ATMOSPHERE_MOSI_PIN;//PA5~7复用功能输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(ATMOSPHERE_GPIO &GPIO_InitStructure); //初始化
GPIO_PinAFConfig(ATMOSPHERE_SCK_GPIOGPIO_PinSource5GPIO_AF_SPI1); //PB5复用为 SPI1
GPIO_PinAFConfig(ATMOSPHERE_MISO_GPIOGPIO_PinSource6GPIO_AF_SPI1); //PB6复用为 SPI1
GPIO_PinAFConfig(ATMOSPHERE_MOSI_GPIOGPIO_PinSource7GPIO_AF_SPI1); //PB7复用为 SPI1
//这里只针对SPI口初始化
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1ENABLE); //复位SPI1
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1DISABLE); //停止复位SPI1
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //设置SPI单向或者双向的数据模式:SPI设置为双线双向全双工
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //设置SPI工作模式:设置为主SPI
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //设置SPI的数据大小:SPI发送接收8位帧结构
SPI_InitS
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11180 2015-10-19 17:27 drv_atmosphere\atmosphere.c
文件 1996 2015-10-19 17:29 drv_atmosphere\atmosphere.h
文件 613 2015-10-19 17:37 drv_atmosphere\main.c
目录 0 2015-10-19 17:32 drv_atmosphere
----------- --------- ---------- ----- ----
13789 4
- 上一篇:U8数据字典
- 下一篇:有向图的全部拓扑序列(回溯法)
相关资源
- STCMCU-SPI演程
- ISD1700SPI通讯总结
- HSpice电路仿真软件教程与
- 32位SPI通信FPGA
- STM32-硬件SPI-4004语音播放实验
- OrCAD的PSpice元件库
- SPI通信协议中文版SPIV3
- 基于stm32f103c8t6的已实现模拟iic和模拟
- Hspice 0.18um工艺库
- STM32F1单片机+四元数欧拉角姿态解算
- SPI接口与74HC595的连接原理图
- fpga spi通信程序
- 重写Spinner类,实现点击后弹出带有确
- stm32f4xxADS1256驱动
- 基于Verilog的SPI总线写数据
- spi fpga verilog 代码
- MSP430F149利用硬件SPI口读写串行Flash
- SSD1305 SPI DMA驱动
- SVPWM技术在dsPIC上的实现.pdf
- hspice中文教程
- 用dsPIC30F3010实现无刷直流电机的无传
- hspice可以使用的license
- dsp SPI 应用经验总结以及例程FIFO
- 25LC512中文资料
- CC2530_spi通信
- ListView中Spinner的使用
- STM32的硬件SPI驱动的ILI9341代码
- c8051f320 主机从机 SPI程序
- VHDL的SPI控制
- LCD12864驱动及接口程序(SPI通信)
评论
共有 条评论