5867|11

15

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求LPS22HB压力传感器驱动 [复制链接]

 
   最近在调试LPS22HB压力传感器驱动,不知道是程序有问题还是硬件有问题,读寄存器WHO_AM_I 都没有成功,求各位大神指点!急!!!!!!!!!!!!!!

最新回复

大佬搞出来没,能不能代码发我看看  详情 回复 发表于 2019-12-31 14:22
点赞 关注
 
 

回复
举报

9797

帖子

24

TA的资源

版主

推荐
 
STSW-STLKT01例程里有这个驱动,官方的

hts221.rar (17.07 KB, 下载次数: 102)

赞赏

1

查看全部赞赏

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

1万

帖子

25

TA的资源

版主

沙发
 
LPS22还是比较好用的,寄存器不多,容易计算。如果是I2C方式,注意器件地址不要设置错误。
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
dcexpert 发表于 2017-5-25 20:19
LPS22还是比较好用的,寄存器不多,容易计算。如果是I2C方式,注意器件地址不要设置错误。

请问你有写好的驱动吗?可以参考下吗?

点评

我有micropython的程序,可以参考。 https://bbs.eeworld.com.cn/thread-513415-1-1.html 另外sensortile的软件包中有C语音的驱动。  详情 回复 发表于 2017-5-25 22:56
 
 
 

回复

1万

帖子

25

TA的资源

版主

4
 
hssjj1211 发表于 2017-5-25 20:31
请问你有写好的驱动吗?可以参考下吗?

我有micropython的程序,可以参考。

https://bbs.eeworld.com.cn/thread-513415-1-1.html

另外sensortile的软件包中有C语音的驱动。
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

6
 
littleshrimp 发表于 2017-5-26 09:07
STSW-STLKT01例程里有这个驱动,官方的

谢谢大神
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

7
 
dcexpert 发表于 2017-5-25 22:56
我有micropython的程序,可以参考。

https://bbs.eeworld.com.cn/thread-513415-1-1.html

另外senso ...

大哥,我没找到C语言驱动包啊?能再发一下吗?或直接发到我邮箱327209795@qq.com
 
 
 

回复

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];

}








 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
hssjj1211 发表于 2017-5-31 10:40
哪位大神帮我分析下我写的LPS22HB驱动程序,用的STM32单片机,采用的是SPI四线协议,看我的程序哪里有问 ...

你好,请问是不是早调试完成了,我这遇到问题,读who_am_i就是不对,请教一下
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

10
 
楼主你好,请问使用spi需不需要配置3线或者4线啊?我见官方提供的例程代码没有进行配置。我改写了这个代码,读出来的压力值不对,只有0.7kPa,温度值好像是对的。请指教,谢谢。

链接已隐藏,如需查看请登录或者注册

 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

11
 
明白了,未配置默认是4线。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

12
 
大佬搞出来没,能不能代码发我看看
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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