OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7785|回复: 19

求助LPS22HB驱动

[复制链接]

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
发表于 2018-1-22 17:00:06 | 显示全部楼层 |阅读模式
50金钱
有哪位大神写过ST的LPS22HB压力传感器的stm32驱动,我现在用SPI 4 线尝试通信,可是得到都是0xFF,手册上连SPI通信模式都没有,网上也找不到例程,所以来求助求助,有没有大神帮助一下

最佳答案

查看完整内容[请看2#楼]

你看的恐怕是假手册。手册中有SPI通信模式的。 手册见附件,刚下载自官网。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-29 15:55:35 | 显示全部楼层
本帖最后由 YK山羊 于 2018-1-29 15:58 编辑

哇,终于被我搞好了,原来是买的模块上商家用的是I2C,把第5个脚接地做I2C通信地址了,拉开这个脚,自己又实验了一些自己的困惑,发现在SPI mode上,只要不是SPI_CPOL_High+SPI_CPHA_1Edge(不清楚spi mode几),其它的三种都是可以的,还有一点就是spi_sck不要大于10MHz,把这个初始化贴出来给第一次接触lps22hb了解了解,右下角pressure_value就是我得的气压值,跟我手机天气显示的1029百帕很接近,,,,这个困惑了好久,现在,,哈哈哈哈嗝~
TIM图片20180129155245.png
TIM截图20180129154514.png
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-22 17:00:07 | 显示全部楼层
你看的恐怕是假手册。手册中有SPI通信模式的。

手册见附件,刚下载自官网。

LPS22HB.pdf

1.46 MB, 下载次数: 57

回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-22 18:31:56 | 显示全部楼层
再附一份官方例程和官方使用指导

从LPS22HB数字气压计读取气压数据.pdf

923.98 KB, 下载次数: 165

LPS22HB_lib.zip

17.32 KB, 下载次数: 171

回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3447
金钱
3447
注册时间
2017-7-4
在线时间
869 小时
发表于 2018-1-22 19:07:34 | 显示全部楼层
spi封装好了,不管任何spi器件都很轻松驱动起来,不需重复调试spi,做重复工作是浪费时间。spi源码及应用例子:
http://blog.csdn.net/qq_20553613
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-23 09:06:31 | 显示全部楼层
a496298685 发表于 2018-1-22 17:00
你看的恐怕是假手册。手册中有SPI通信模式的。

手册见附件,刚下载自官网。

我说的是设置这两个参数  
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;      
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
这个手册里面没有好像
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-23 13:38:30 | 显示全部楼层
YK山羊 发表于 2018-1-23 09:06
我说的是设置这两个参数  
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;      
SPI_InitStructure.SPI ...

SPI_InitStructure是什么
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-23 14:02:19 | 显示全部楼层
a496298685 发表于 2018-1-23 13:38
SPI_InitStructure是什么

SPI初始化里面的啊,这个是我那里面完整的,用的标准库
  SPI_InitTypeDef  SPI_InitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;

  /* SCK, MISO and MOSI  SCK=PA5,MISO=PA6,MOSI=PA7*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
//CS
//        GPIO_SetBits(GPIOA, GPIO_Pin_4);//Ƭѡ
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_SetBits(GPIOA, GPIO_Pin_4);//ƬѡÀ­¸ß

  /* SPI1 configuration  */
  SPI_Cmd(SPI1, DISABLE);             //±ØÐëÏÈDISABLE£¬²ÅÄܸıäMODE
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  //Á½ÏßÈ«Ë«¹¤Ä£Ê½
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;       //Ö÷»ú
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;      //8bits

  SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;      
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;      
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;        //Èí¼þNSS
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;  
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;      //¸ßλÏÈÐÐ
  SPI_InitStructure.SPI_CRCPolynomial = 7;        //CRC7
  SPI_Init(SPI1, &SPI_InitStructure);
  //SPI_SSOutputCmd(SPI1, ENABLE); //ʹÄÜNSS
  SPI_Cmd(SPI1, ENABLE);  
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-23 14:20:31 | 显示全部楼层
CPHA (clock phase)、CPOL (clock polarity)。这两个是决定的SPI传输时的电平特性。

对于标准的SPI,其电平特性是固定的——CLK上升沿触发,下降沿装载。高电平表示1,低电平表示0。

那么这个设置,也应当是固定的。

看来楼主是十分细心的,继续坚持哦~
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-23 14:22:52 | 显示全部楼层
a496298685 发表于 2018-1-23 14:20
CPHA (clock phase)、CPOL (clock polarity)。这两个是决定的SPI传输时的电平特性。

对于标准的SPI,其 ...

可是手册里面现在没写这个好像
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-23 14:25:59 | 显示全部楼层
YK山羊 发表于 2018-1-23 14:22
可是手册里面现在没写这个好像

你看的什么“手册”?要看reference manual
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-24 09:12:25 | 显示全部楼层
a496298685 发表于 2018-1-23 14:25
你看的什么“手册”?要看reference manual

不是你发给我那个datasheet吗?我在官网看了一下,上面十来个手册,不知道哪个才是reference manual啊,我之前用SPI操作AT45DB161这个flash时候,那个上面的datasheet就直接写明了spi mode,这样至少我的SPI初始化部分可以放心,后面有问题看看时序图多改注意就好了
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 13:53:45 | 显示全部楼层
YK山羊 发表于 2018-1-24 09:12
不是你发给我那个datasheet吗?我在官网看了一下,上面十来个手册,不知道哪个才是reference manual啊, ...

不不不,这个应该看单片机的Reference Manual。
设备的SPI如果不出意外,肯定是标准的。
我们要做的是,让单片机以标准的方式工作即可。
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-29 09:33:04 | 显示全部楼层
a496298685 发表于 2018-1-24 13:53
不不不,这个应该看单片机的Reference Manual。
设备的SPI如果不出意外,肯定是标准的。
我们要做的是 ...

什么意思,我有点不明白,我这个spi设置我以前驱动at45db161d都是可以的,还有单片机搞成什么标准的?
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
904
金钱
904
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-29 13:29:51 | 显示全部楼层
YK山羊 发表于 2018-1-29 09:33
什么意思,我有点不明白,我这个spi设置我以前驱动at45db161d都是可以的,还有单片机搞成什么标准的?

所以,不需要设置!!!如果目前无法使用,请检查驱动代码是否正确
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2018-1-29 15:03:16 | 显示全部楼层
a496298685 发表于 2018-1-29 13:29
所以,不需要设置!!!如果目前无法使用,请检查驱动代码是否正确

呃。。。。。。。。。。。。。。。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2019-9-3
在线时间
19 小时
发表于 2019-9-9 11:15:03 | 显示全部楼层
YK山羊 发表于 2018-1-29 15:03
呃。。。。。。。。。。。。。。。

你好,有没有LPS22HB的完成工程,用STM32标准库驱动的,谢谢谢谢
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-7-15
在线时间
3 小时
发表于 2019-12-27 11:44:13 | 显示全部楼层
sundae 发表于 2019-9-9 11:15
你好,有没有LPS22HB的完成工程,用STM32标准库驱动的,谢谢谢谢

俺也想要
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-4-2
在线时间
6 小时
发表于 2020-2-20 20:21:29 | 显示全部楼层
LPS22HB 放在PCB的TOP层和BOttom层 是不是都可以?谢谢能回答。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2023-3-6
在线时间
2 小时
发表于 2023-3-10 21:35:20 | 显示全部楼层
老哥你那个搞好了吗,这个怎么弄呀
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 13:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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