3044|8

15

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LPS22HB气压传感器 [复制链接]

 求大神提供LPS22HB压力传感器C语言驱动吗?我可以花钱买,联系电话15872536578,QQ327209795

最新回复

LPS22HB的stm32驱动官方提供了很多 X-CUBE-MEMS1里就有对应的驱动 http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-sense-hw/x-nucleo-iks01a2.html https://my.st.com/content/my_st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-software/x-cube-mems1.license%3d1496197963831.html [attach]303724[/attach] [attach]303723[/attach]   详情 回复 发表于 2017-5-31 10:36
点赞 关注(1)
 
 

回复
举报

9720

帖子

24

TA的资源

版主

沙发
 
之前给你的驱动不能用吗?你用什么单片机?

点评

我用的是STM32 单片机。  详情 回复 发表于 2017-5-31 10:41
用的是STM32啊!  详情 回复 发表于 2017-5-31 10:25
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

111

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 alberthink 于 2017-5-26 17:48 编辑

楼主气压传感器的内容在本论坛下很多网友都有分享代码和工程,你看过了么?另外ST官方网站上也是有足够的LPS22HB相关资源的,你可以从下面的链接去看看:
http://www.st.com/content/st_com ... ensors/lps22hb.html

http://www.st.com/content/st_com ... nucleo-iks01a2.html

http://www.st.com/content/st_com ... s/stsw-mems039.html

如果那些有问题请把遇到的问题描述出来,大家总能想办法解决。


 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

4
 
alberthink 发表于 2017-5-26 17:40
楼主气压传感器的内容在本论坛下很多网友都有分享代码和工程,你看过了么?另外ST官方网站上也是有足够的LP ...

我用的是STM32单片机 ,采用SPI协议,官方提供的程序太杂,是很多传感器的测试程序!
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

5
 
littleshrimp 发表于 2017-5-26 17:22
之前给你的驱动不能用吗?你用什么单片机?

用的是STM32啊!

点评

LPS22HB的stm32驱动官方提供了很多 X-CUBE-MEMS1里就有对应的驱动 http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-sense  详情 回复 发表于 2017-5-31 10:36
 
 
 

回复

9720

帖子

24

TA的资源

版主

6
 

点评

我试试,谢谢  详情 回复 发表于 2017-5-31 10:45
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

7
 
littleshrimp 发表于 2017-5-26 17:22
之前给你的驱动不能用吗?你用什么单片机?

我用的是STM32 单片机。
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

8
 
哪位大神帮我分析下我写的LPS22HB驱动程序,用的STM32单片机,采用的是SPI四线协议,看我的程序哪里有问题,特别是Read_LPS22HB()和Wrrite_LPS22HB()两个函数是不是有问题?




#include "LPS22HB.h"
#include "delay.h"        

void delay(void)        
{
        u8 i=0;
        for(i=0;i<10;i++)
        {
                ;
        }
}




void WRITE_LPS22HB(u8 adress ,u8 data)
{
       u8 i;
        u16 temp=adress*256+data;
        
        LPS_CS = 1;
        LPS_SCLK = 1;
        LPS_CS = 0;
        delay_ms(1);
        for(i=0;i<16;i++)
        {
                LPS_SCLK= 0;               
                temp=temp<                 if(temp&0x8000)
                {               
                   Write_LPS=1;
                }
                else
                {
                         Write_LPS=0;
                }        
                delay();
                delay_us(1);        
                LPS_SCLK = 1;        
                delay();
                delay_us(1);        
        }
        LPS_CS = 1;        
}


void Read_LPS22HB(u8 adress,u8*data,u8 nBytesToRead)
{
        
        u8 i,j;
        LPS_CS = 0;
        delay_ms(1);
        LPS_SCLK = 1;
        for(i=0;i<8;i++)
        {
                LPS_SCLK= 0;
               
                adress=adress<                
                if(adress&0x80)
                {               
                   Write_LPS=1;
                }
                else
                {
                         Write_LPS=0;
                }        
                delay();        
                delay_us(1);               
                LPS_SCLK = 1;
                delay();
                delay_us(1);                        
        }
        for(j=0;j         {
                for(i=0;i<8;i++)
                {
                        LPS_SCLK= 0;                        
                        data[j] = data[j]<< 1;
                        if(Read_LPS==1)
                        {
                                data[j] = data[j]+1;
                        }
                        delay();
                        delay_us(1);
                        LPS_SCLK = 1;
                        delay();
                        delay_us(1);
                }
  }
        LPS_CS = 1;
        
}        




void LPS22HB_Init(void)
{
   RCC->APB2ENR|=1<<3;    //使能PORTB时钟                          

   GPIOB->CRH&=0X0000FFFF;
   GPIOB->CRH|=0X83330000;

   WRITE_LPS22HB(0x10,0x20); // 写控制寄存器地址
   delay_ms(1);        
}

u16 adress=0;
u32 press=0;
u16 temper=0;
void LPS22HB_test(void)
{
    u8 temp[5]={0};               
    Read_LPS22HB(0x0F,temp,1);
    adress=temp[0];
    delay_ms(100);
    Read_LPS22HB(0x28,temp,5);
    press=temp[0]*65536+temp[1]*256+temp[2];
    temper=temp[3]*256+temp[4];

}
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

9
 
littleshrimp 发表于 2017-5-31 10:36
LPS22HB的stm32驱动官方提供了很多
X-CUBE-MEMS1里就有对应的驱动
http://www.st.com/content/st_com/e ...

我试试,谢谢
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表