查看: 6292|回复: 4

[原创] LPC824 lite入门教程六 I2C

[复制链接]
  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4899

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6321
    最后登录
    2025-7-15
    发表于 2016-11-5 15:40:49 | 显示全部楼层 |阅读模式
    本节介绍I2C,通常I2C用来读取eeprom,也用用读取一些传感器数据,比如加速度传感器等,速度比SPI慢很多,LPC824的I2C有如下特点:
    • 支持数据速率400 Kbit/s 的标准模式和高达1Mbitr 的快速模式
    • 独立的主机、从机和监视器功能
    • 硬件中支持多个I2C 从机地址
    • 支持SMBus
    • 片上ROM提供I2C驱动
    • 收发支持DMA
    • 支持低功耗模式唤醒  


    QQ截图20161105152508.png QQ截图20161105152519.png QQ截图20161105152528.png QQ截图20161105152541.png QQ截图20161105152550.png QQ截图20161105152559.png QQ截图20161105152608.png QQ截图20161105152618.png QQ截图20161105152629.png QQ截图20161105152638.png QQ截图20161105152648.png QQ截图20161105152659.png QQ截图20161105152708.png QQ截图20161105152720.png QQ截图20161105152728.png QQ截图20161105152741.png QQ截图20161105152751.png
    /* Initializes pin muxing for I2C interface */
    static void Init_I2C_PinMux(void)//I2C引脚初始化
    {
    #if (defined(BOARD_NXP_LPCXPRESSO_812) || defined(BOARD_LPC812MAX) || defined(BOARD_NXP_LPCXPRESSO_824))
            /* Enable the clock to the Switch Matrix */
            Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SWM);//使能开关矩阵时钟
    #if defined(BOARD_NXP_LPCXPRESSO_824)
            Chip_SWM_EnableFixedPin(SWM_FIXED_I2C0_SDA);//使能I2C SDA脚
            Chip_SWM_EnableFixedPin(SWM_FIXED_I2C0_SCL);//使能I2C SCL脚
    #else
            /* Connect the I2C_SDA and I2C_SCL signals to port pins(P0.10, P0.11) */
            Chip_SWM_MovablePinAssign(SWM_I2C_SDA_IO, 10);选择P0.10作为I2C SDA脚
            Chip_SWM_MovablePinAssign(SWM_I2C_SCL_IO, 11);选择P0.11作为I2C SDA脚
    #endif

            /* Enable Fast Mode Plus for I2C pins */
            Chip_IOCON_PinSetI2CMode(LPC_IOCON, IOCON_PIO10, PIN_I2CMODE_FASTPLUS);//使能I2C SDA脚为快速模式
            Chip_IOCON_PinSetI2CMode(LPC_IOCON, IOCON_PIO11, PIN_I2CMODE_FASTPLUS);//使能I2C SCL脚为快速模式

            /* Disable the clock to the Switch Matrix to save power */
            Chip_Clock_DisablePeriphClock(SYSCTL_CLOCK_SWM);//关闭开关矩阵时钟
    #else
            /* Configure your own I2C pin muxing here if needed */
    #warning "No I2C pin muxing defined"
    #endif
    }

    /* Setup I2C handle and parameters */
    static void setupI2CMaster()//设置I2C为主模式
    {
            /* Enable I2C clock and reset I2C peripheral */
            Chip_I2C_Init(LPC_I2C);//初始化I2C

            /* Setup clock rate for I2C */
            Chip_I2C_SetClockDiv(LPC_I2C, I2C_CLK_DIVIDER);//设置I2C分频

            /* Setup I2CM transfer rate */
            Chip_I2CM_SetBusSpeed(LPC_I2C, I2C_BITRATE);//设置I2C传输速度

            /* Enable Master Mode */
            Chip_I2CM_Enable(LPC_I2C);//使能I2C
    }

    开心
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-5 17:21
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    12

    帖子

    0

    新手上路

    Rank: 1

    积分
    26
    最后登录
    2016-11-5
    发表于 2016-11-5 17:36:19 | 显示全部楼层
    还有吗?
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2024-3-21 15:13
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    32

    主题

    1820

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2024-3-21
    发表于 2016-11-5 18:00:49 | 显示全部楼层
    横屏了……你赢了!分享有一下也不错!
    好多年没来了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-10-31 12:48
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    91

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    280
    最后登录
    2017-3-31
    发表于 2016-11-5 18:45:35 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-28 17:04
  • 签到天数: 285 天

    连续签到: 1 天

    [LV.8]以坛为家I

    1

    主题

    428

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1577
    最后登录
    2018-6-28
    发表于 2016-11-5 22:06:48 | 显示全部楼层
    学习了~~~~~~~~~~~~~

    NXP.JPG 与非.JPG
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 05:57 , Processed in 0.096133 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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