RT Thread外设驱动添加-BMP280
作者:互联网
官网驱动链接:http://packages.rt-thread.org/detail.html?package=bmp280
注意:有时候可能配置的功能过多,请在env下关闭一些后在编译,否则mdk5编译无法通过;
一、配置步骤:
1、在Kconfig下添加 i2c类型和引脚;
2、打开env配置i2c和bmp280软件包;
3、打开mdk修改工程芯片和添加bmp280测试函数;
4、效果展示;
二、在Kconfig下添加 i2c类型和引脚;
2.1:整个“Kconfig”文件配置
menu "Hardware Drivers Config"
config SOC_STM32F103C
bool
select SOC_SERIES_STM32F1
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
default y
menu "Onboard Peripheral Drivers"
endmenu
menu "On-chip Peripheral Drivers"
config BSP_USING_GPIO
bool "Enable GPIO"
select RT_USING_PIN
default y
config BSP_USING_SPI1
bool "Enable SPI1 BUS"
select RT_USING_SPI
default n
menuconfig BSP_USING_I2C1
bool "Enable I2C1 BUS (software simulation)"
default n
select RT_USING_I2C
select RT_USING_I2C_BITOPS
select RT_USING_PIN
if BSP_USING_I2C1
config BSP_I2C1_SCL_PIN
int "i2c1 scl pin number"
range 0 63
default 22
config BSP_I2C1_SDA_PIN
int "I2C1 sda pin number"
range 0 63
default 23
endif
menuconfig BSP_USING_UART
bool "Enable UART"
default y
select RT_USING_SERIAL
if BSP_USING_UART
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
default n
endif
source "../libraries/HAL_Drivers/Kconfig"
endmenu
menu "Board extended module Drivers"
endmenu
endmenu
三、打开env配置i2c和bmp280软件包;
输入:“pkgs --update”更新和下载bmp280驱动:
输入“scons --target=mdk5 -s”生成MDK5程序
四、打开mdk修改工程芯片和添加bmp280测试函数;
添加测试代码:具体添加方法来源于软件包官网
//******************************* BMP280 应用示例 *******************************************
/******************************************************************************************
*** 函数名称: bmp280_port
*** 输入参数: 无
*** 返 回 值: 无
*** 调度周期:无
*** 说 明:BMP280测试函数,
************ 1、可以先在msh控制台,输入 list_device ,来查看驱动(temp_bmp和baro_bmp)是否挂载成功;
************ 2、成功之后可以使用 sensor_polling baro_bmp 来查看大气压信息。
*** 链 接:http://packages.rt-thread.org/detail.html?package=bmp280
*** 编者 时间 版本
*** wagnlu 2021/04/02 V0.1
******************************************************************************************/
#include "sensor_bs_bmp280.h"
int bmp280_port(void)
{
struct rt_sensor_config cfg;
cfg.intf.dev_name = BMP280_I2CBUS_NAME;
cfg.intf.user_data = (void *)BMP280_ADDR_DEFAULT;
rt_hw_bmp280_init("bmp280", &cfg);
return 0;
}
INIT_APP_EXPORT(bmp280_port); /* 上电自动初始化 */
五、效果展示:
标签:RT,Thread,bmp280,default,BMP280,BSP,USING,select 来源: https://blog.csdn.net/qq_39758638/article/details/115440541