找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1285|回复: 1
打印 上一主题 下一主题
收起左侧

stm32压力传感器

[复制链接]
跳转到指定楼层
楼主
ID:987440 发表于 2021-12-2 23:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
转而采用了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校准参
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:262 发表于 2021-12-9 20:20 | 只看该作者
代码还没发完?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表