BMP280芯片I2C驱动开发指南


这颗芯片不太容易焊接,不能长时间风枪吹,否则容易掉壳。

在这里插入图片描述

第一部分 硬件连接


电路很简单,没什么需要注意的。
在这里插入图片描述

第二部分 软件驱动


本来打算使用SPL06的,结果焊接掉壳了,更换成bmp280了。函数名没有变过来。。。

void SPL06_Init()
{
    u8 uChipID = 0;
    // wait stable
    SPL06_WriteReg(SPL06_DEV,0xE0,0xB6);
    delay_ms(300);

    while(uChipID!= 0x58){ 
        // 1.Device Reset & check Device
        uChipID = SPL06_ReadReg(SPL06_DEV,0xd0); // Read ID
        delay_ms(2000);        // device check
        delay_ms(2000);        // device check
        delay_ms(2000);        // device check
    }
    printf("BMP280 check Pass!:deviceID = 0x%x \r\n",uChipID);
    
    //2.Device Settings
}
u8 SPL06_ReadReg(u8 dAddr, u8 Reg)
{
    u8 Value = 0;
    //1.启动IIC
    IIC_Start();
    //2.写设备地址
    IIC_Send_Byte((dAddr << 1)|0);
    //3.wait
    if(IIC_Wait_Ack())
    {
        IIC_Stop();
        return 1;
    }
    //4.寄存器地址
    IIC_Send_Byte(Reg);
    //5.wait
    if(IIC_Wait_Ack())
    {
        IIC_Stop();
        return 1;
    }
    //6.启动IIC
    IIC_Start();
    //7.设备地址
    IIC_Send_Byte((dAddr << 1)|1);
    //8.wait read ack
    if(IIC_Wait_Ack())
    {
        IIC_Stop();
        return 1;
    }
    
    Value = IIC_Read_Byte(1);
    //9.stop
    IIC_Stop();
    return Value;
}

void SPL06_WriteReg(u8 dAddr, u8 Reg, u8 Value)
{
    //1.启动IIC
    IIC_Start();
    //2.写设备地址
    IIC_Send_Byte((dAddr << 1)|0);
    //3.wait
    while(IIC_Wait_Ack());
    //4.写寄存器地址
    IIC_Send_Byte(Reg);
    //5.wait
    IIC_Wait_Ack();
    //6.写value
    IIC_Send_Byte(Value);
    //7.wait
    IIC_Wait_Ack();
    //8.stop
    IIC_Stop();
}

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 06:02:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 06:02:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 06:02:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 06:02:06       18 阅读

热门阅读

  1. Leetcode面试经典150_Q88合并两个有序数组

    2024-04-08 06:02:06       13 阅读
  2. PDF格式解析:使用CID、CMAP定义字符映射

    2024-04-08 06:02:06       15 阅读
  3. 全球化业务的网络安全挑战

    2024-04-08 06:02:06       16 阅读
  4. Github 2024-04-07 开源项目日报 Top10

    2024-04-08 06:02:06       12 阅读
  5. 机器学习--分类算法

    2024-04-08 06:02:06       11 阅读
  6. MySQL从入门到精通——基础篇

    2024-04-08 06:02:06       12 阅读
  7. Vim脚本语言入门:打造你的编辑器

    2024-04-08 06:02:06       16 阅读
  8. cdn背后nginx 设置获取真实IP及安全配置

    2024-04-08 06:02:06       11 阅读