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

作者: xiaozi1111    时间: 2018-2-9 13:25
标题: stm32 压力传感器驱动
#include "stm32l1xx.h"
#include "pressure.h"
#include "string.h"
#define              SCK_HIGH            GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET)      
#define              SCK_LOW             GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET)
#define              DT                  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0)

struct PressureDefine Pressure_Define={0};

void Pressure_Config(struct PressureDefine defines)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
       
        struct PressureDefine def = defines;
       
        memcpy(&Pressure_Define,&defines,sizeof(struct PressureDefine));       
       
        GPIO_InitStructure.GPIO_Pin = def.pin_of_dt;       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(def.pin_of_dt_group, &GPIO_InitStructure);
               
        GPIO_InitStructure.GPIO_Pin = def.pin_of_sck;       
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(def.pin_of_sck_group, &GPIO_InitStructure);       
}       

unsigned long ReadCount(void)
        {
   unsigned long Count = 0;
         uint8_t i;
         SCK_LOW;
         while(DT);
           for(i=0;i<24;i++)
             {
              SCK_HIGH;
                    Count=Count<<1;
              SCK_LOW;
              if(DT)
                    Count++;
             }
              SCK_HIGH;
              Count=Count^0x800000;
              SCK_LOW;
              return Count;
}



作者: ljw285    时间: 2018-3-18 16:23
请问下用的是什么压力传感器
作者: xiaozi1111    时间: 2018-10-9 17:38
ljw285 发表于 2018-3-18 16:23
请问下用的是什么压力传感器

HX711





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