在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3316|回复: 4

[求助] iic 读写程序,为什么配置不了寄存器

[复制链接]
发表于 2015-2-28 13:53:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
函数如下:这个函数是原厂提供的,没有问题

SMBUS_STATUS MCU_IIC_Access(BYTE IICAddr, BYTE RegAddr, void *Data, WORD Size)
{

// Not realy a Robust Algorithm for multi-master arbitration retry

for(i=10, j=0; j<IIC_MAX_RETRY; ++j) { // Time-Out to prevent dead lock

if(IICAddr & 0x01) { // Read

status = SMBUS_master_rw_synchronous(MCU_IIC_Bus, IICAddr-1, &RegAddr, 1, SMBUS_SkipStop);

status |= SMBUS_master_rw_synchronous(MCU_IIC_Bus, IICAddr, Data, Size, SMBUS_Normal);

}

else { // Write

status = SMBUS_master_rw_synchronous(MCU_IIC_Bus, IICAddr, &RegAddr, 1, SMBUS_SkipStop);

status |= SMBUS_master_rw_synchronous(MCU_IIC_Bus, IICAddr, Data, Size, SMBUS_SkipStart);

}

if(status) { // failed and retry

delay_1ms(i);

if(i>0) i-= 10/IIC_MAX_RETRY; // Become faster to prevent starvation

//RS232_printf("Err: IIC(H) %bu, Addr=0x%02bX, Reg=0x%02bX, retry %d\n", status, IICAddr, RegAddr, i);

}

else break;

}

if(status) {

RS232_printf("Err: IIC(H)%bu,Addr=%02bX,Reg=%02bX\n", status, IICAddr, RegAddr);

}

return status;
}

我自己编写的函数:
MCU_IIC_Write(I2C_FMS6502_ADR_rgb,VIDEO_OUT65,0x11,1);

但是没有配置成功,请教这样的写法有什么不对?
发表于 2015-9-23 17:41:42 | 显示全部楼层
看不懂啊。
发表于 2015-12-7 19:59:32 | 显示全部楼层
二二热污染钱43 热饿饿
发表于 2015-12-9 11:27:12 | 显示全部楼层
你的ACK 好像有問題
发表于 2015-12-12 23:43:57 | 显示全部楼层
謝謝分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 06:42 , Processed in 0.030392 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表