微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > LPC1788之片内集成IIC协议。

LPC1788之片内集成IIC协议。

时间:10-02 整理:3721RD 点击:
使用库函数来操作片内集成的IIC模块。
主要使用库函数提供的

  1. /* Generate a start condition on I2C bus (in master mode only) */
  2. static uint32_t I2C_Start (LPC_I2C_TypeDef *I2Cx);

  3. /* Generate a stop condition on I2C bus (in master mode only) */
  4. static void I2C_Stop (LPC_I2C_TypeDef *I2Cx);

  5. /* I2C send byte subroutine */
  6. static uint32_t I2C_SendByte (LPC_I2C_TypeDef *I2Cx, uint8_t databyte);

  7. /* I2C get byte subroutine */
  8. static uint32_t I2C_GetByte (LPC_I2C_TypeDef *I2Cx, uint8_t *retdat, Bool ack);

复制代码

记得使用之前要进行初始化,

  1. extern void I2C_init(void)
  2. {
  3.                 PINSEL_ConfigPin (0, 19, 3);//选择引脚为SCL 和SDA
  4.     PINSEL_ConfigPin (0, 20, 3);
  5.     PINSEL_SetOpenDrainMode(0, 19, ENABLE);//使能输出漏极开路
  6.     PINSEL_SetOpenDrainMode(0, 20, ENABLE);
  7.     PINSEL_SetPinMode(0, 19, PINSEL_BASICMODE_PLAINOUT);//使能输入浮空
  8.     PINSEL_SetPinMode(0, 20, PINSEL_BASICMODE_PLAINOUT);
  9.         
  10.                 I2C_Init(I2C_1,100000);//初始化IIC1以及时钟10k
  11.                 I2C_Cmd(I2C_1,ENABLE);//允许I2C1,使能
  12. }

复制代码



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top