完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1.准备材料
软件: stm32cubemx 、IAR for arm、jlink(或者stlink)驱动(已安装请忽略)、任意的串口调试助手软件、我提供的“myfile”文件 硬件: stm32f103ct6单片机、BME680传感器模块、jlink(或者stlink)烧录器、串口线(u***转ttl,ch340或者pl2303模块)、杜邦线 IAR for arm 安装参考我的这篇博客 https://blog.csdn.net/shuige2215/article/details/108312156 2.说明 <1>此方法是基于stm32的HAL库完成的(1.能用stm32cubemx生产驱动代码2.能为BSEC库运行提供时间戳),用到的代码生产软件是stm32cubemx,强烈推荐!!!没用过的去问度娘。 <2>为什么使用IAR而不使用stm32开发常用的keil呢?因为输出IAQ用到的核心算法库libalgobsec.a文件,只有在IAR中支持(我是用keil没有成功,感兴趣可以再试试),如果不需要IAQ,可以用keil开发,但是如果不输出IAQ为啥不用更加便宜的BME280传感器呢。 <3>根据下图,确定自己选择的单片机是否有对应库文件以及rom是否够用,上面说的libalgobsec.a文件比较大,例如我们使用的stm32f103c8t6(cortex M3 128KB rom) libalgobsec.a需要的空间是20KB,lite版本是不带自动校准。stm8或者51等都是不支持IAQ输出的,没有对应的.a文件,限制还是挺多的 博世github 链接:https://github.com/BoschSensortec/BSEC-Arduino-library 3.让我们开始吧 <1>烧录方式设置,我们设置为SDW方式烧录,可以使用jlink或者stlink等烧录工具,当然串口烧录也是也可以的。 <2>配置时钟源,我们就全部使用单片机内部晶振,毕竟要是自己打板也能省点买晶振的钱 <3>配置i2c接口,BME680与单片机通过i2c接口连接,使用spi接口也可以,我们使用i2c,配置默认就可以 <4>配置串口1,打印传感器数据,默认配置,波特率115200 <5>设置堆栈 <6>工程必要的配置,以及生产工程文件 <7>先编译一下,确认没有问题。 <8>然后配置烧录器为jlink SWD方式下载,可以根据自己使用的烧录工具设定 <9>SWD方式 <10>添加“myfile”分组到工作空间 <11>将我提供的“myfile”文件,添加到工程文件夹下.注意区分两个“myfile”,第一个是添加到工作空间的目录结构叫“myfile”,第二个是我给你提供的以及写好的代码,添加到工程文件中。 <12>注意!!!我使用的是stm32f103c8t6 是cortex M3 ,一定要根据自己所选平台架构更换核心算法库libalgobsec.a文件 博世github 链接:https://github.com/BoschSensortec/BSEC-Arduino-library <13>将工程文件夹下的四个文件添加到工作空间 <14>指定头文件相对路径 <15>添加串口重定向 <16>添加i2c读写函数 <17>添加i2c读写函数声明 <18>添加头件 <19>添加传感器配置,我们配置为3s模式,方便看到效果,上电5min输出第一个IAQ值,然后每3s输出一个,温湿度是实时的不需要等5min。还有一个是5min模式,上电30min输出第一个IAQ值,然后每5min输出一个IAQ值,这个是BSEC规定的,只有这两种模式,3s模式功耗900ua,5min模式功耗90ua。 修改这个宏定义#define APP_BSEC_SAMPLE_RATE BSEC_SAMPLE_RATE_LP BSEC_SAMPLE_RATE_LP - Low power mode with sample period of 3 seconds. BSEC_SAMPLE_RATE_ULP - Ultra low power mode with sample period of 5 minutes. <20>传感器初始化和函数调用,我是1s调用一次,但也是每个3s才有一个数据输出,你完全可以设计成使用定时器传入next_call,定时采集。150%时间内必须要调用一次,也就是4.5s内必须调用一次,如果不按照规定,输出IAQ会不准确 <21>打印出来验证 4.有错误或者不明白给我留言 源码和用到的文件 链接:https://pan.baidu.com/s/1XCOVftrSTntzc_THm7WgOg |
|
|
|
只有小组成员才能发言,加入小组>>
2545 浏览 0 评论
1143浏览 2评论
743浏览 1评论
496浏览 0评论
257浏览 0评论
420浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 18:34 , Processed in 1.159518 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号