[环境传感器] 使用STM32L452通过C-Driver-MEMS驱动STTS751

littleshrimp   2019-7-2 12:45 楼主

IKS01A3提供了全套的传感器驱动和例程,也许是为了兼容性吧代码设计的非常复杂

不管是新手还是老手想要把代码搞明白都要花上一些时间

除了en.x-cube-mems1 ST还为每个传感器提供了C-Driver-MEMS驱动和例程

如果是做一些简单的测试使用C-Driver-MEMS会非常方便

 

这次测试STTS751传感器使用的是NUCLEO-L452RE

目的是为了将STTS751采集到的温度通过串口发送给电脑

对于STM32L452需要用到I2C接口和UART接口,I2CSTTS751通信,UARTPC通信

针对STM32单片机,ST提供了一款叫STM32CubeMX的软件,可以图形化配置,然后生成代码

用过的小伙伴都知道,这款软件非常好用

我之前做一些东西时使用STM32CubeMX开发节省了很多的时间

甚至用过STM32CubeMX开发STM32以后都懒的再用其它单片机,除了PSoC

 

先打开NUCLEO-L452RE的原理图确定I2CUART对应的引脚

UART2通过通过PA2,PA3连接到ST-LINK的虚拟串口

I2C1通过PB8,PB9连接到arduinoI2C接口

image001.jpg

image002.jpg

 

打开STM32CubeMX软件,选择NUCLEO-L452R开发板,再使能I2C1UART2模块

其它全部默认设置不需要修改

image003.jpg

 

将这两个模块对应的引脚修改成原理图内对应的引脚,给工程起个名字就可以生成相应的代码了

image004.png        

 

代码生成后打开工程,将STTS751C-Driver-MEMS驱动引出到工程

打开read_data_simple.c文件,example_main_stts751函数里的STTS751_ID_0xxxx改成STTS751_ID_1xxxx

 

image005.png

 

再将platform_writeplatform_read里的STTS751_0xxxx_ADD_7K5改成STTS751_1xxxx_ADD_7K5

image006.png

 

修改tx_com函数将原来的CDC_Transmit_FS改成使用uart2通信

image007.png

 

烧好代码,支行串口助手就可以看到输出的温度数据

image008.jpg

虾扯蛋,蛋扯虾,虾扯蛋扯虾

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复