搜索
热搜: ROHM 模拟 车载
查看: 5124|回复: 14

【罗姆传感器】+i2c连接脉搏传感器

  [复制链接]

该用户从未签到

205

主题

1万

帖子

0

精华

论坛元老

最后登录
2023-6-10
发表于 2018-11-15 00:02:27 | 显示全部楼层 |阅读模式
今天终于有时间可以调试脉搏传感器了,先上图,
微信图片_20181114235701.jpg

使用的lpc54114开发板,pin23 scl-pin24sda两个管脚
代码使用SDK例程
代码如下
#define EXAMPLE_I2C_MASTER_BASE (I2C1_BASE)
#define I2C_MASTER_CLOCK_FREQUENCY (12000000)
#define EXAMPLE_I2C_MASTER ((I2C_Type *)EXAMPLE_I2C_MASTER_BASE)

#define I2C_MASTER_SLAVE_ADDR_7BIT 0x5bU
#define I2C_BAUDRATE 100000U
#define I2C_DATA_LENGTH 32U


i2c初始化
/* attach 12 MHz clock to FLEXCOMM4 (I2C master) */
    CLOCK_AttachClk(kFRO12M_to_FLEXCOMM1);

    /* reset FLEXCOMM for I2C */
    RESET_PeripheralReset(kFC1_RST_SHIFT_RSTn);

    BOARD_InitPins();

I2C_MasterGetDefaultConfig(&masterConfig);

    /* Change the default baudrate configuration */
    masterConfig.baudRate_Bps = I2C_BAUDRATE;

    /* Initialize the I2C master peripheral */
    I2C_MasterInit(EXAMPLE_I2C_MASTER, &masterConfig, I2C_MASTER_CLOCK_FREQUENCY);

if (kStatus_Success == I2C_MasterStart(EXAMPLE_I2C_MASTER, I2C_MASTER_SLAVE_ADDR_7BIT, kI2C_Write))
    {

        int i;
        for(i=0; i<sizeof(g_master_txBuff); i++)
        {
            g_master_txBuff = i;
        }

        reVal = I2C_MasterWriteBlocking(EXAMPLE_I2C_MASTER, g_master_txBuff, sizeof(g_master_txBuff), kI2C_TransferNoStartFlag);
        if (reVal != kStatus_Success)
        {
            return -1;
        }
    }

    PRINTF("Receive sent data from slave :");

    /* Receive blocking data from slave */
      start + slaveaddress(w) + subAddress + repeated start + slaveaddress(r) + rx data buffer + stop */
    if (kStatus_Success == I2C_MasterStart(EXAMPLE_I2C_MASTER, I2C_MASTER_SLAVE_ADDR_7BIT, kI2C_Write))
    {
        /* subAddress = 0x01, data = g_master_txBuff - write to slave.
          start + slaveaddress(w) + subAddress + length of data buffer + data buffer + stop*/
        reVal = I2C_MasterWriteBlocking(EXAMPLE_I2C_MASTER, &deviceAddress, 1, kI2C_TransferNoStopFlag);
        if (reVal != kStatus_Success)
        {
            return -1;
        }

        reVal = I2C_MasterRepeatedStart(EXAMPLE_I2C_MASTER, I2C_MASTER_SLAVE_ADDR_7BIT, kI2C_Read);
        if (reVal != kStatus_Success)
        {
            return -1;
        }

        reVal = I2C_MasterReadBlocking(EXAMPLE_I2C_MASTER, g_master_rxBuff, I2C_DATA_LENGTH, 0);
        if (reVal != kStatus_Success)
        {
            return -1;
        }
    }

运行一下,发现g_master_rxBuff接收里面有数据了,更改不同地址,数据也在变化
明天有空继续深入研究一下
回复

使用道具 举报

该用户从未签到

2248

主题

1万

帖子

1

精华

论坛元老

最后登录
2024-4-18
发表于 2018-11-15 08:54:44 | 显示全部楼层
541114
回复

使用道具 举报

该用户从未签到

205

主题

1万

帖子

0

精华

论坛元老

最后登录
2023-6-10
 楼主| 发表于 2018-11-15 10:51:31 | 显示全部楼层
是的哦 logo.png
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

412

帖子

0

精华

金牌会员

最后登录
2021-10-27
发表于 2018-11-15 21:47:43 来自手机 | 显示全部楼层
我也是这个还没时间研究,等明天周六
回复 支持 反对

使用道具 举报

该用户从未签到

205

主题

1万

帖子

0

精华

论坛元老

最后登录
2023-6-10
 楼主| 发表于 2018-11-16 01:20:19 | 显示全部楼层
哈哈 logo.png
回复 支持 反对

使用道具 举报

该用户从未签到

205

主题

1万

帖子

0

精华

论坛元老

最后登录
2023-6-10
 楼主| 发表于 2018-11-16 01:21:01 | 显示全部楼层
好好
回复

使用道具 举报

该用户从未签到

5

主题

204

帖子

2

精华

金牌会员

最后登录
2022-3-25
发表于 2018-11-16 13:33:10 | 显示全部楼层
谢谢分享
回复

使用道具 举报

该用户从未签到

205

主题

1万

帖子

0

精华

论坛元老

最后登录
2023-6-10
 楼主| 发表于 2018-11-17 03:29:34 | 显示全部楼层
哈哈 logo.png
回复 支持 反对

使用道具 举报

该用户从未签到

89

主题

513

帖子

0

精华

金牌会员

最后登录
2022-3-30
发表于 2018-11-18 13:05:59 | 显示全部楼层
学习学习
回复

使用道具 举报

该用户从未签到

205

主题

1万

帖子

0

精华

论坛元老

最后登录
2023-6-10
 楼主| 发表于 2018-11-18 21:23:20 | 显示全部楼层
哈哈 logo.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|罗姆半导体技术社区

GMT+8, 2024-4-20 14:23 , Processed in 0.125791 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表