- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种IO口中断模拟I2C通信的方法 单片机与单片机之间的通信方式 Jonney.Peng 2016/8/17
更可靠,效率更高的模拟I2C通信方式,主从机都可模拟
目录
一、 I2C通信原理 2
二、 利用IO口模拟I2C的优势 2
三、 利用IO口模拟I2C的原理 2
2、 中断接收数据函数 3
3、 读指令函数 4
4、 发送一个字节函数 5
5、 发送指令函数 6
五、 源代码共享地址 6
I2C通信原理
I2C总线系统是由SCL(串行时钟)和SDA(串行数据)两根总线构成的。该总线有严格的时序要求,总线工作时,由串行时钟线SCL传送时钟脉冲,由串行数据线SDA传送数据。void I2C_INIT()
{
SDA=1;
delays(2);
SCL=1;
delays(2);
}
中断接收数据函数
功能:实现数据的接收
变量名含义:
INTTemp:接收数据变量,每一位都存入INTTemp
clk_over_timer:接收超时时基,用于复位相应标志位,后面会介绍。
INT_i2c:中断标志位
F_INT_read:读数据标志位
F_read_ok:接收完数据标志位
INTnum:中断次数标志位
INTre[]:接收数据缓存区
INTbyteflag:接收字节个数标志位
F_long:接收的指令长度
void I2cRead() interrupt 0
{
INTTemp=INTTemp1;
INTTemp=INTTemp|SDA;
clk_over_timer=0;
INT_i2c=1;
F_INT_read=0;
F_read_ok=0;
INTnum++;
if(INTnum==8) //若INTnum为8,说明接收完一个字节的数据,将数据存入INTre[]
{
INTnum=0;
INTre[INTbyteflag]=INTTemp;
if(INTbyteflag=3) //当接收数据位后面的数据时,长度标志位相应
减1,直到F_long=0,说明一条指令接收完毕
{
F_long--;
}
INTbyteflag++;
}
if(INTbyteflag==3) // INTbyteflag为3时说明长度位已接收完毕
{
If(INTre[0]==0x00INTre[1]==0x01) //包头和地址位接收正确,将长度为赋
值给F_long
F_long=INTre[2];
if(INTre[0]!=0x00) //包头不对,标志位复位,重新接收
{
INTbyteflag=0;
F_long=32;
}
if(INTre[1]!=0x01) //地址位不对,标志位复位,重新接收
{
INTbyteflag=0;
F_long=32;
}
}
}
读指令函数
功能:判断指令接收完毕,当F_long=0说明指令已接收完毕,可以根据指令处理相应事件。若20ms内没接收完数据,说明数据接收不正常,复位相应标志位。
void Read_ok()
{
if(F_long==0)
{
INTbyteflag=0;
F_long=32;
INT_i2c=1;
F_INT_read=1;
F_read_ok=1;
clk_d=0;
INTnum=0;
clk_watch=0;
}
if(clk_over_timer=2)
{
INT_i2c=0;
INTnum=0;
INTbyteflag=0;
F_long=32;
clk_d=0;
clk_watch=0;
clk_over_timer=0;
}
}
发送一个字节函数
功能:通过I2C发送一个字数据
void send_byte(uchar b )
{
uchar i;
您可能关注的文档
- 2017年北京航空航天大学行管考研报录比-就业情况-免费资料.pdf
- 2017年医事人员更年期教育训练.PDF
- 2017年第030期风险揭示书.PDF
- 2017秋季班赴国内与赴中国大陸交换学生甄选.PDF
- 20mA电流环通讯的分析与应用.pdf
- 2020年香港中学文凭考试考试规则.PDF
- 3月份满意度调查统计(东三街医院).doc
- 40秒解除烦恼近视矫正手术,.PDF
- 5. 植物器官脱落分子生物学研究进展.pdf
- 5位眼科大夫晒护眼私房菜.PDF
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)