问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于I2C总线模拟程序

发布网友 发布时间:2022-05-08 00:09

我来回答

1个回答

热心网友 时间:2022-07-01 22:01

1、接收从机的ACK信号,把SDA置高是为了读取ACK信号,你必须要再送一个SCK时钟信号,从机才会发送低电平的ACK信号给主机。IIC是主从式同步通信,主机必须要发送时钟来同步数据位。
2、读取ACK位,只要在ACK的SCK时钟内读SDA,为低就是从机发送了ACK,为高从机没有应答,这时要重新发送一遍数据。
3、通过停止IIC总线结束传输。
4、建议到网上搜点关于iic的pdf资料。
实例代码如下:
//IIC存储器函数
void iic_wait(void)
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}

void iic_stop(void)
{
SDA=0;
SCL=0;
iic_wait();
SCL=1;
iic_wait();
SDA=1;
}

void iic_start(void)
{
SDA = 1;
SCL = 1;
iic_wait();
SDA = 0;
iic_wait();
SCL = 0;
}

void iic_ack(void)
{
SDA=0;
iic_wait();
SCL=1;
iic_wait();
SCL=0;
}

void iic_no_ack(void)
{
SDA=1;
iic_wait();
SCL=1;
iic_wait();
SCL=0;
}

bit iic_wait_ack(void)
{
uchar errtime;
errtime=255;
//uint errtime = 1000;
SDA=1;
iic_wait();
SCL=1;
iic_wait();
while(SDA);
SCL=0;
return 1;
}

void iic_send_byte(uchar idata sbyte)
{
uchar i = 8;
while(i--)
{
SCL = 0;
_nop_();
_nop_();
_nop_();
SDA = (bit)(sbyte&0x80);
sbyte <<= 1;
iic_wait();
SCL = 1;
iic_wait();
}
SCL=0;
}

uchar iic_receive_byte(void)
{
uchar i=8;
uchar ddata=0;
SDA=1;
while(i--)
{
ddata <<= 1;
SCL=0;
iic_wait();
SCL=1;
iic_wait();
ddata |= SDA;
}
SCL=0;
return ddata;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 iic中主机读取一个字节的时候,从机怎么知道什么时候给主机发送数据呢 IIC从机的Acknowledge信号问题 i2c通信从机 stm8s的iic做从机时如何判断是读命令还是写命令 求解:IIC驱动程序中总线上为什么读取数据比写数据要多写一个字节的设备地址 我编写的C语言的iic通信程序从机不给应答信号,什么原因啊! 两个单片机用IIC通讯,从机的函数要怎么写 IIC程序问题 stm8 硬件i2c从机接收程序 纯真年代百度云链接 焉栩嘉粉丝脱粉回踩,为何拉朱正廷下水? NINEPERCENT为朱正廷庆生,你看好他们的未来吗? 【耽美】《机灵小不懂》宁王X朱正的同人 煮饭CP太甜了,朱正廷直呼有点齁,还有哪些明星也非常喜欢磕cp? 百合小说总裁有那些 有没有师生百合恋的,大家给我推荐一个小说 有木有啥好看的百合小说 三国五虎将的蜀国五虎将——关张马黄赵传 归去来兮考试常出现默写句子 三国演义主要人物的外貌描写,性格特点和主要事迹。 51单片机关于IIC的问题 单片机IIC通信,从机可以随时控制主机吗? IIC总线C语言编程问题 IIC中主机向从机写入读取信号 昨晚梦见一个陌生的老人死了,然后我男朋友跟别人把他抬进棺材去了,这到底是什么意思,?是不是不好,? 昨天晚上做梦梦到邻居家奶奶死了,我还给他抬棺材 ,应该没什么事吧 我国著名的文学家、史学家欧阳修有哪些文学作品? 做梦梦见别人家死人抬棺材怎么回事 唐朝文学家欧阳询 姓欧阳的是哪位诗人 北宋文学家欧阳修姓什么?是姓“欧”还是姓“欧阳”? 梦见隔壁家还活着的叔叔死了,已故的父亲拿几根木头放在地上准备抬棺材? lgwing快充支持多少 欧阳文忠公的简介 欧阳修担任礼部官员期间,对北宋文风转变有着什么影响? 微信台球小程序兑换金币扣除的是哪里的积分 有锁的苹果手机怎么看系统 查询iphone版本和是否有锁 苹果手机怎么看他是有锁还是无锁机?哪种苹果机都是有锁版本?日版韩版苹果代码是多少?都是有锁版还是和 有没有教人学习&quot;电子表格&quot;的视频啊?