TMS320F28027学习笔记二

这篇博客记录了使用TMS320F28027芯片通过软件I2C驱动MPU6050传感器的过程。由于TI芯片仅支持推挽输出,作者通过在置高/低电平时切换输入/输出方向来模拟开漏输出。文中还提到了后续将探讨280x系列的浮点计算库IQMATH的应用、串口通信问题以及MPU6050初始化异常的解决方案。

28027软件I2C驱动MPU6050


重点:这部分代码由stm32f103的原四轴项目整体迁移。但是stm32的IO口可使能开漏输出,但包括28x系列的TI芯片只支持推挽输出。


解决方案: 对于SDA与SCL口:需在置高电平之后改变IO口方向为输入(读总线),而在置低电平前改变方向为输出(写总线)

当然在改变方向时需解除与开启保护(EALLOW与EDIS)

/******************************************************************************
                                                      宏定义
*******************************************************************************/

#define	SCL_H   	{GpioDataRegs.GPBSET.bit.GPIO33 = 1;I2C_delay(3);\
	                 EALLOW;GpioCtrlRegs.GPBDIR.bit.GPIO33=0;EDIS;}	          //SCL高电平
#define	SCL_L   	{EALLOW;GpioCtrlRegs.GPBDIR.bit.GPIO33=1;EDIS;\
                     GpioDataRegs.GPBCLEAR.bit.GPIO33 = 1;I2C_delay(3);}	  //SCL低电平
#define	SDA_H   	{GpioDataRegs.GPBSET.bit.GPIO32 = 1;I2C_delay(3);\
                     EALLOW;GpioCtrlRegs.GPBDIR.bit.GPIO32=0;EDIS;}	          //SDA高电平
#define	SDA_L   	{EALLOW;GpioCtrlRegs.GPBD
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值