查看: 2204|回复: 6

[求助] KL25 I2C/IIC求助 用的官网给的例子

[复制链接]
  • TA的每日心情

    2016-10-20 11:32
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    108

    帖子

    0

    高级会员

    Rank: 4

    积分
    545
    最后登录
    2022-3-1
    发表于 2016-1-23 16:28:24 | 显示全部楼层 |阅读模式
    /*
    * File:        k60_i2c.h
    * Purpose:     I2C header
    *
    * Notes:
    *
    */


    #define ACCEL_I2C_ADDRESS                         0x1C

    #define i2c_DisableAck()       I2C0_C1 |= I2C_C1_TXAK_MASK

    #define i2c_RepeatedStart()    I2C0_C1 |= I2C_C1_RSTA_MASK;

    #define i2c_Start()            I2C0_C1 |= I2C_C1_TX_MASK;\
                                   I2C0_C1 |= I2C_C1_MST_MASK

    #define i2c_Stop()             I2C0_C1 &= ~I2C_C1_MST_MASK;\
                                   I2C0_C1 &= ~I2C_C1_TX_MASK

    #define i2c_EnterRxMode()      I2C0_C1 &= ~I2C_C1_TX_MASK;\
                                   I2C0_C1 &= ~I2C_C1_TXAK_MASK

    #define i2c_Wait()               while((I2C0_S & I2C_S_IICIF_MASK)==0) {} \
                                      I2C0_S |= I2C_S_IICIF_MASK;

    #define i2c_write_byte(data)   I2C0_D = data

    #define MWSR                   0x00  /* Master write  */
    #define MRSW                   0x01  /* Master read */

    void init_I2C(void);
    void IIC_StartTransmission (unsigned char SlaveID, unsigned char Mode);
    void I2CWriteRegister(unsigned char u8RegisterAddress, unsigned char u8Data);
    unsigned char I2CReadRegister(unsigned char u8RegisterAddress);
    unsigned char I2CReadMultiRegisters(unsigned char u8RegisterAddress, unsigned char bytes);





    我想问一下#define ACCEL_I2C_ADDRESS                         0x1C定义的是什么地址 是从设备吗?

    我知道答案 目前已有6人回答
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-11 19:28
  • 签到天数: 141 天

    连续签到: 1 天

    [LV.7]常住居民III

    34

    主题

    1067

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2492
    最后登录
    2020-9-16
    发表于 2016-1-24 09:28:28 | 显示全部楼层
    这个是设置的一个地址ID,每一个I2C设备在使用时都有一个唯一的访问地址
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-10-20 11:32
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    108

    帖子

    0

    高级会员

    Rank: 4

    积分
    545
    最后登录
    2022-3-1
     楼主| 发表于 2016-1-24 14:34:44 | 显示全部楼层
    chifen 发表于 2016-1-24 09:28
    这个是设置的一个地址ID,每一个I2C设备在使用时都有一个唯一的访问地址

    那这个值是自己设定的还是设备本身确定好的?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2016-1-25 09:14:05 | 显示全部楼层
    lgkgkfg 发表于 2016-1-24 14:34
    那这个值是自己设定的还是设备本身确定好的?

    设备数据手册,里面会有的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-11 19:28
  • 签到天数: 141 天

    连续签到: 1 天

    [LV.7]常住居民III

    34

    主题

    1067

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2492
    最后登录
    2020-9-16
    发表于 2016-1-25 19:13:48 | 显示全部楼层
    如果是通用设备都是固定的,比如EPROM 从0xa0开始
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-10-20 11:32
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    108

    帖子

    0

    高级会员

    Rank: 4

    积分
    545
    最后登录
    2022-3-1
     楼主| 发表于 2016-1-25 22:05:42 | 显示全部楼层
    chifen 发表于 2016-1-25 19:13
    如果是通用设备都是固定的,比如EPROM 从0xa0开始

    那这个要紧随开始信号作为数据发出吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-11 19:28
  • 签到天数: 141 天

    连续签到: 1 天

    [LV.7]常住居民III

    34

    主题

    1067

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2492
    最后登录
    2020-9-16
    发表于 2016-1-25 22:08:55 | 显示全部楼层
    你用的是内置协议 只要提供 你使用芯片的唯一地址 正常是0xa0
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 04:51 , Processed in 0.096722 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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