NXP MCU 技术论坛
直播中

杨永胜

12年用户 2379经验值
擅长:嵌入式技术
私信 关注
[讨论]

LPC1788之片内集成IIC协议。

使用库函数来操作片内集成的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. }



更多回帖

发帖
×
20
完善资料,
赚取积分