c语言iic通讯编程,I2C总线万能程序(C语言)
void I2CStart(void)
{
EA=0;
SDA=1; SCL=1; SomeNOP();//数据线保持高,时钟线从高到低一次跳变,I2C通信开始
SDA=0; SomeNOP();
SCL=0;
}
/--------------------------------------------------------------------------------
调用方式:void AD7416_I2CStop(void) 2003/05/04
函数说明:私有函数,I2C专用
---------------------------------------------------------------------------------/
void I2CStop(void)
{
SCL=0; SDA=0; SomeNOP(); //数据线保持低,时钟线从低到高一次跳变,I2C通信停止
SCL=1; SomeNOP(); SDA=1;
EA=1;
}
/--------------------------------------------------------------------------------
调用方式:I2CAck(void) 2003/05/13
函数说明:私有函数,I2C专用,等待从器件接收方的应答
ACK BY AD7416
---------------------------------------------------------------------------------/
WaitAck(void)
{
unsigned char errtime=255;//因故障接收方无ACK,超时值为255。
SDA=1;
SCL=1;
SystemError=0x10;
while(SDA)
{ errtime--;
if(!errtime)
{ AD7416_I2CStop();
AD7416_SystemError=0x11; //出错后给全局变量赋值
return;
}
}
SCL=0;
}
/--------------------------------------------------------------------------------
调用方式:void SendAck(void) ﹫2003/05/13
函数说明:私有函数,I2C专用,主器件为接收方,从器件为发送方时,应答信号。
---------------------------------------------------------------------------------/
void SendAck(void)
{
SDA=0; SomeNOP(); //数据线保持低,时钟线发生一次从高低的跳变 发送一个应答信号
SCL=1; SomeNOP();
SCL=0;
}
/--------------------------------------------------------------------------------
调用方式:void SendAck(void) ﹫2003/05/13
函数说明:私有函数,I2C专用,主器件为接收方,从器件为发送方时,非应答信号。
--------------------------------------------------------------------------------/
void SendNotAck(void)
{
SDA=1; SomeNOP(); //数据线保持高,时钟线发生一次从高低的跳变 没有应答
SCL=1; SomeNOP();
SCL=0;
}
/--------------------------------------------------------------------------------
调用方式:void I2CSend(uchar ch) 2003/05/13
函数说明:私有函数,I2C专用
---------------------------------------------------------------------------------/
void I2CSendByte(Byte ch)
{
unsigned char i=8;
while (i--)
{
SCL=0;nop();
SDA=(bit)(ch&0x80); ch<<=1; SomeNOP(); //时钟保持低可以发送数据
SCL=1; SomeNOP();
}
SCL=0;
}
/--------------------------------------------------------------------------------
调用方式:uchar I2CReceive(void) 2003/05/13
函数说明:私有函数,I2C专用
---------------------------------------------------------------------------------/
Byte I2CReceiveByte(void)
{
unsigned char i=8,data=0;
SDA=1;
while (i--)
{
data<<=1;
SCL=0;SomeNOP();
SCL=1;SomeNOP(); //时钟做一次从低到高的跳变 可以接收数据
data|=SDA;
}
SCL=0;
return data;
}
c语言iic通讯编程,I2C总线万能程序(C语言)相关推荐
- 河南工业大学c语言考试题库,c语言题库(编程)河南工业大学 河工大 c语言期末考试题库...
c语言题库(编程)河南工业大学 河工大 c语言期末考试题库 (27页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 C语言题库编程河南工业 ...
- 程序设计C语言函数定义,编程函数的定义之C语言
编程函数的定义之C语言 类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型.接下来,小编为您介绍了编程函数的定义之C语言,感谢您的阅读! 无参函数的定义 无参函数定义的`一般形式如下:类 ...
- arduino语言是c语言吗,Arduino编程基础(一)——Arduino语言
Arduino语言 Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言.早期的Arduino核心库使用C语言编写 ...
- c语言滑稽的编程,12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)...
A,局部变量的返回地址 Q:下面的代码有问题吗?如果有,如何修改? #include int* inc(int val) { int a = val; a++; return &a; } in ...
- c语言入门经典必背18个程序,c语言入门经典必背18个程序
c语言入门经典必背18个程序 1 . /* 输出 9*9 口诀.共 9 行 9 列, i 控制行, j 控制列. */ #include "stdio.h" main() {int ...
- nec c语言笔试题,红外NEC编码发射程序_C语言(国外英文资料).doc
红外NEC编码发射程序_C语言(国外英文资料) 红外NEC编码发射程序_C语言(国外英文资料) * * * * * * * Hardware platform: homemade infrared d ...
- Linux下C语言进程通讯编程
代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <sys/shm.h> 4 /********* ...
- c语言人机互动编程,单片机人机交互系统的C语言编程简介.ppt
单片机人机交互系统的C语言编程简介 第5章 单片机人机交互系统的C51语言编程 5.1 单片机的输入/输出端口 5.2 LED数码管显示器 5.3 LED数码管点阵显示器 5.4 液晶显示器 5.5 ...
- 大一下c语言期末考试编程题,大一上期末C语言编程题
大一上期末C语言编程题 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 用公式 π/4 = 1-1/3+1/5-1/7--,编程序 ...
- 手机c语言图形界面编程工具,「分享」C语言如何编写图形界面
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 贴吧内经常有人问C语言是不是只能用于字符终端界面开发,不能用于图形界面.大家也都有回答,需要其他的库.MFC,GTK,QT. 本人近期刚用GTK库加上纯C ...
最新文章
- java中文件操作的工具类
- SQL的各种连接(cross join、inner join、full join)的用法理解
- 给数据库表字段设置默认值
- F12 界面:请求响应内容 Preview 和 Response 不一致、接口返回数据和 jsp 解析到的内容不一致
- 'parent.relativePath' points at no local POM
- java代码修改触发编译_gcc -O0仍然优化了“未使用”的代码 . 是否有一个编译标志来改变它?...
- matlab求解集合覆盖问题,Set Cover Problem (集合覆盖问题)
- 使用Java语言如何实现快速文件复制?
- 关于jdk11没有jre
- string和wstring相互转换以及wstring显示中文问题
- EXCEL 趋势图生成的公式应用说明
- 互联网公司起名,其实都有套路的!
- Peewee 使用手册
- python控制泰克示波器捕捉触发波形
- Sharding Sphere ~ Sharding-jdbc分库分表、读写分离
- Oracle卸载不干净?看这篇就够了
- 【算法随记三】小半径中值模糊的急速实现(16MB图7.5ms实现) + Photoshop中蒙尘和划痕算法解读。...
- Unity如何完全消除摩擦力
- AudioSourse play loop Clip
- 稀奇!20多年前的硬盘拆解(附高清图)