我想在motorware proj_lab3a例程中加入I2C程序;
1. 在hal_obj.h 中的HAL_Obj结构体添加了
I2C_Handle i2cHandle;
I2C_Obj i2c;
2.在hal.c中添加了
硬件初始化
// initialize the I2C
obj->i2cHandle = I2C_init((void *)I2CA_BASE_ADDR,sizeof(I2C_Obj));
// 配置了IIC
HAL_setupI2C(handle);
3. 程序编辑通过;
但在仿真时IIC寄存器并没有写成功,求助是什么原因
笨鸟:
这样初始化,应该是不完全的,还是没初始化好。可以参考官方I2C的例程。在仿真时IIC寄存器并没有写成功,说明你还是没有执行写的程序。
我想在motorware proj_lab3a例程中加入I2C程序;
1. 在hal_obj.h 中的HAL_Obj结构体添加了
I2C_Handle i2cHandle;
I2C_Obj i2c;
2.在hal.c中添加了
硬件初始化
// initialize the I2C
obj->i2cHandle = I2C_init((void *)I2CA_BASE_ADDR,sizeof(I2C_Obj));
// 配置了IIC
HAL_setupI2C(handle);
3. 程序编辑通过;
但在仿真时IIC寄存器并没有写成功,求助是什么原因
Young Hu:
检查 I2CA_BASE_ADDR地址对不对?
obj->i2cHandle = I2C_init((void *)I2CA_BASE_ADDR,sizeof(I2C_Obj));
检查下面这个函数。
HAL_setupI2C(handle);
我想在motorware proj_lab3a例程中加入I2C程序;
1. 在hal_obj.h 中的HAL_Obj结构体添加了
I2C_Handle i2cHandle;
I2C_Obj i2c;
2.在hal.c中添加了
硬件初始化
// initialize the I2C
obj->i2cHandle = I2C_init((void *)I2CA_BASE_ADDR,sizeof(I2C_Obj));
// 配置了IIC
HAL_setupI2C(handle);
3. 程序编辑通过;
但在仿真时IIC寄存器并没有写成功,求助是什么原因
wujie xi:
回复 Young Hu:
I2CA_BASE_ADDR地址对
HAL_setupI2C(handle); 这个地址是对的。用的是24C256
上述寄存器仿真没有写成功