标题: stm32压力传感器 [打印本页]

作者: zhang5568945    时间: 2021-12-2 23:18
标题: stm32压力传感器
转而采用了ADC1_AIN0(引脚PA0)采集模拟气压计MPXA6115A。
目前压力变化与输出变化符合气压计曲线( Vout = Vs x (0.009 x P - 0.095)
[code]
#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include <stdio.h>
#include <string.h>
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */

/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc1;

SPI_HandleTypeDef hspi1;

TIM_HandleTypeDef htim1;

UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2;

/* USER CODE BEGIN PV */
uint8_t SC_RxReg;
uint8_t Ticks;
uint8_t K1_Interval;

#define BMP180 0xEE
#define ID180  0xD0
//#define ADDR_24LCxx 0xA0
//#define ADDR_24LCxx_Read 0xA1
uint8_t WriteBuffer[8],ReadBuffer[8];

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
static void MX_TIM1_Init(void);
static void MX_SPI1_Init(void);
static void MX_ADC1_Init(void);
static void MX_USART2_UART_Init(void);
/* USER CODE BEGIN PFP */
uint16_t Get_AdcValue(uint32_t ch);
/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  MX_TIM1_Init();
  MX_SPI1_Init();
  MX_ADC1_Init();
  MX_USART2_UART_Init();
  /* USER CODE BEGIN 2 */

  HAL_GPIO_WritePin(Run_GPIO_Port, Run_Pin, GPIO_PIN_SET);
  K1_Interval=10;
  Ticks=K1_Interval;

        printf("\r\n***Pressure Sensor Testing***\r\n");
        //IIC_Read_Multiple(BMP180,ID180, ReadBuffer,1);
        //printf("0x%02X  ",ReadBuffer);

        HAL_TIM_Base_Start_IT(&htim1);
        HAL_UART_Receive_IT(&huart1, (uint8_t *)&SC_RxReg, 1);

        uint16_t adcvalue;
        float voltage,VREF=3.3,Vrefint=1.2;//VrefInt=1.2V, 1.16~1.26V,可以通过vrefint校准参
作者: heicad    时间: 2021-12-9 20:20
代码还没发完?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1