[原创] 【LPC54100】+MPU6050 IIC总线模拟程序设计

youzizhile   2015-4-2 23:59 楼主
对于LPC54102的IIC驱动还需要好好研究下,现在先使用io模拟IIC来测试MPU6050.

IMG_20150402_235520.jpg
#define SET_SCL_OUTPUT     Chip_GPIO_SetPinDIROutput(LPC_GPIO,0, 23)
#define Set_SCL      Chip_GPIO_SetPinState(LPC_GPIO,0, 23,true)
#define Clr_SCL      Chip_GPIO_SetPinState(LPC_GPIO,0, 23,false)

#define SET_SDA_OUTPUT     Chip_GPIO_SetPinDIROutput(LPC_GPIO,0, 24)
#define Set_SDA     Chip_GPIO_SetPinState(LPC_GPIO,0, 24,true)
#define Clr_SDA      Chip_GPIO_SetPinState(LPC_GPIO,0, 24,false)

#define  SET_SDA_INPUT     Chip_GPIO_SetPinDIRInput(LPC_GPIO,0, 24)
#define  GET_SDA_DATA      Chip_GPIO_GetPinState(LPC_GPIO,0, 24)

#define uchar unsigned char

void delay(unsigned int value);
void I2C_Start(void);
void I2C_Send_Byte(uchar data);
void Check_Ack(void);
void I2C_Stop(void);
uchar I2C_Receive_Byte(void);
void I2C_Nack(void);
void single_byte_write(uchar REG_Address,  uchar REG_DATA);
uchar single_byte_read(uchar REG_Address);
void Send_Ack(void);

调试结果接下来分享。

我的其他心得贴:
4.【LPC54100】+步进电机+lCD1602+MPU6050接口电路图 https://bbs.eeworld.com.cn/thread-458066-1-2.html
3. 【LPC54100】+LCD1602驱动程序设计 https://bbs.eeworld.com.cn/thread-458026-1-1.html
2.【LPC54100】+LPC54102的电流消耗测量电路分析  https://bbs.eeworld.com.cn/thread-458024-1-1.html
1.【LPC54100】+LPC54102开发板初试用  https://bbs.eeworld.com.cn/thread-457205-1-2.html

每一刻都是崭新的,加油!

回复评论 (6)

建议弄它自己的i2c,有折腾模拟i2c的时间应该硬件i2c也差不多了解了。
点赞  2015-4-3 08:03
引用: freebsder 发表于 2015-4-3 08:03
建议弄它自己的i2c,有折腾模拟i2c的时间应该硬件i2c也差不多了解了。

模拟I2C是原有的经验和资源,先调试好了再去使用芯片自带的i2c,我现在的定义就是I2c0接口。
每一刻都是崭新的,加油!
点赞  2015-4-3 08:40
希望更丰富的分享心得,哪怕是模拟i2c也可以在没有其他妨碍的情况下讲解仔细一些。硬件i2c也可以仔细折腾一下。
点赞  2015-4-3 09:07
硬件IIC多方便呀,NXP的应该会比stm32之类要稳定的多吧。
点赞  2015-4-3 10:07
硬件I2C呀,很好用,我就是用LPC54102的硬件I2C跟MPU6050通信的。很稳定不错
点赞  2015-4-4 00:07
引用: 强仔00001 发表于 2015-4-4 00:07
硬件I2C呀,很好用,我就是用LPC54102的硬件I2C跟MPU6050通信的。很稳定不错

恩,想着先调试通,在使用硬件IIC
每一刻都是崭新的,加油!
点赞  2015-4-8 08:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复