其他分享
首页 > 其他分享> > RT Thread外设驱动添加-BMP280

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