电子发烧友网 > 接口/总线/驱动 > 接口/总线/驱动 > 正文

让代码助你理解I2C总线

2016年01月25日 14:04 次阅读

  I2C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。

  SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发)

  SDA:双向数据线,为OD门,与其它任意数量的OD与OC门成“线与”关系。

  为了加深对I2C总线的理解,用C语言模拟IIC总线,边看源代码边读波形:

  如下图所示的写操作的时序图:

  让代码助你理解I2C总线

  读时序的理解同理。对于时序不理解的朋友请参考“I2C总线概述及时序总结”

  完整的程序如下:

  #include

  #define uchar unsigned char

  #define uint unsigned int

  #define write_ADD 0xa0

  #define read_ADD 0xa1

  uchar a;

  sbit SDA=P2^0;

  sbit SCL=P2^1;

  void SomeNop(); //短延时

  void init(); //初始化

  void check_ACK(void);

  void I2CStart(void);

  void I2cStop(void);

  void write_byte(uchar dat);//写字节

  void delay(uint z);

  uchar read_byte(); //读字节

  void write(uchar addr,uchar dat); //指定地址写

  uchar read(uchar addr); //指定地址读

  bit flag; //应答标志位

  void main()

  {

  init();

  write_add(5,0xaa); //向地址5写入0xaa

  delay(10); //延时,否则被坑呀!!!

  P1=read_add(5); //读取地址5的值

  while(1);

  }

  //***************************************************************************

  void delay()//简单延时函数

  { ;; }

  //***************************************************************************

  void start() //开始信号 SCL在高电平期间,SDA一个下降沿则表示启动信号

  {

  sda=1; //释放SDA总线

  delay();

  scl=1;

  delay();

  sda=0;

  delay();

  }

  //***************************************************************************

  void stop() //停止 SCL在高电平期间,SDA一个上升沿则表示停止信号

  {

  sda=0;

  delay();

  scl=1;

  delay();

  sda=1;

  delay();

  }

  //***************************************************************************

  void respons() //应答 SCL在高电平期间,SDA被从设备拉为低电平表示应答

  {

  uchar i;

  scl=1;

  delay();

  //至多等待250个CPU时钟周期

  while((sda==1)&&(i《250))i++;

  scl=0;

  delay();

  }

  //***************************************************************************

  void init()//总线初始化 将总线都拉高一释放总线 发送启动信号前,要先初始化总线。即总有检测到总线空闲才开始发送启动信号

  {

  sda=1;

  delay();

  scl=1;

  delay();

  }

  //***************************************************************************

  void write_byte(uchar date) //写一个字节

  {

  uchar i,temp;

  temp=date;

  for(i=0;i《8;i++)

  {

  temp=temp《《1;

  scl=0;//拉低SCL,因为只有在时钟信号为低电平期间按数据线上的高低电平状态才允许变化;并在此时和上一个循环的scl=1一起形成一个上升沿

  delay();

  sda=CY;

  delay();

  scl=1;//拉高SCL,此时SDA上的数据稳定

  delay();

  }

  scl=0;//拉低SCL,为下次数据传输做好准备

  delay();

  sda=1;//释放SDA总线,接下来由从设备控制,比如从设备接收完数据后,在SCL为高时,拉低SDA作为应答信号

  delay();

  }

  //***************************************************************************

  uchar read_byte()//读一个字节

  {

  uchar i,k;

  scl=0;

  delay();

  sda=1;

  delay();

  for(i=0;i《8;i++)

  {

  scl=1;//上升沿时,IIC设备将数据放在sda线上,并在高电平期间数据已经稳定,可以接收啦

  delay();

  k=(k《《1)|sda;

  scl=0;//拉低SCL,使发送端可以把数据放在SDA上

  delay();

  }

  return k;

  }

  //***************************************************************************

  void write_add(uchar address,uchar date)//任意地址写一个字节

  {

  start();//启动

  write_byte(0xa0);//发送从设备地址

  respons();//等待从设备的响应

  write_byte(address);//发出芯片内地址

  respons();//等待从设备的响应

  write_byte(date);//发送数据

  respons();//等待从设备的响应

  stop();//停止

  }

  //***************************************************************************

  uchar read_add(uchar address)//读取一个字节

  {

  uchar date;

  start();//启动

  write_byte(0xa0);//发送发送从设备地址 写操作

  respons();//等待从设备的响应

  write_byte(address);//发送芯片内地址

  respons();//等待从设备的响应

  start();//启动

  write_byte(0xa1);//发送发送从设备地址 读操作

  respons();//等待从设备的响应

  date=read_byte();//获取数据

  stop();//停止

  return date;//返回数据

  }


 

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

学习开发环境和编程语言:汇编语言和C语言的比较

能够解决上述问题的编程语言就是C语言。C语言具有不依存于特定的CPU,又具有程序移植性高等的特点。另...

发表于 2018-04-10 09:01 55次阅读
学习开发环境和编程语言:汇编语言和C语言的比较

当python取代C语言时电子工程师还能顺利毕业...

事情真的会如程序员们期待的那样发展吗?电子工程师该如何应对?Python语言又为什么突然受到了格外的...

发表于 2018-04-08 12:04 114次阅读
当python取代C语言时电子工程师还能顺利毕业...

单片机学习的人必须掌握的基本内容

首先要放清51的定位,跟我一起再念一遍:51只是个工具51只是个工具51只是个工具。当然51还有一个...

发表于 2018-04-08 08:36 180次阅读
单片机学习的人必须掌握的基本内容

工程师必须要懂得C语言 如果不懂C语言该感到危机

在大学院校的计算机科学体系中,持续缺乏对嵌入式系统编程关注的情况,可能会让分散的情况日趋严重。事实上...

发表于 2018-04-07 08:50 48次阅读
工程师必须要懂得C语言 如果不懂C语言该感到危机

如何优化C语言:选择合适的算法和数据结构

数组与指针语句具有十分密码的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分...

发表于 2018-04-06 19:52 416次阅读
如何优化C语言:选择合适的算法和数据结构

C语言及ARM中堆栈指针SP设置的理解与总结

开始将堆栈指针设置在内部RAM,是因为不是每个板上都有外部RAM,而且外部RAM的大小也不相同,而且...

发表于 2018-04-06 19:46 281次阅读
C语言及ARM中堆栈指针SP设置的理解与总结

c语言运算符优先级规律

超详细!快进来复习一下C语言运算符优先级 每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真...

发表于 2018-04-03 11:30 188次阅读
c语言运算符优先级规律

嵌入式选择用C语言开发的原因

面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传...

发表于 2018-04-03 10:54 114次阅读
嵌入式选择用C语言开发的原因

如果你喜欢编程想学习编程请看看下文给你的 7 个...

如果你喜欢编程,那么你真是受到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。

发表于 2018-04-03 10:04 200次阅读
如果你喜欢编程想学习编程请看看下文给你的 7 个...

依靠C语言,单片机平台可以制作二维码

以往我们所使用到的二维码大多依赖网络平台或者智能终端,今天我们来谈谈在单片机平台上的实现过程。

发表于 2018-04-02 17:44 247次阅读
依靠C语言,单片机平台可以制作二维码

单片机MCU义隆EM78P372N

发表于 2018-04-02 15:56 295次阅读
单片机MCU义隆EM78P372N

快速上手linux基础 c语言必备基础知识 0基础入门C语言

发表于 2018-04-02 11:02 492次阅读
快速上手linux基础 c语言必备基础知识 0基础入门C语言

单片机编程及芯片操作简单总结

如果我们把这个“口”字图形的“.”处用“0”代替,就可以很形象地得到“口”的字形码:0000H 00...

发表于 2018-04-02 09:08 253次阅读
单片机编程及芯片操作简单总结

C语言:条件编译及预定义符号知识详解

宏定义永远不要吝啬括号,防止因为优先级的问题导致出现不可思议的后果 宏不能实现递归 宏只文本替换,并...

发表于 2018-03-31 09:20 482次阅读
C语言:条件编译及预定义符号知识详解

嵌入式操作系统都基于GCC进行源码编译

系统头文件是指C语言本身和操作系统相关的头文件。在使用-v选项获取系统头文件路径时,必须后面带一个有...

发表于 2018-03-30 13:57 130次阅读
嵌入式操作系统都基于GCC进行源码编译

收藏!我的单片机C语言编程心得都在这里了

迄今为止,写过的程序都是一些很简单的程序,从来没有想到要自己写.H文件,也不知道.H文件到底什么用,...

发表于 2018-03-30 13:50 316次阅读
收藏!我的单片机C语言编程心得都在这里了

什么是可移植?C语言是如何做到可移植的?

什么是可移植?如何才能可移植?C语言是如何做到可移植的?对于初学者,可移植可能是一个经常遇到却很神秘...

发表于 2018-03-29 14:41 163次阅读
什么是可移植?C语言是如何做到可移植的?

C语言基本知识点和编程规范详解

局部变量,不加说明默认为auto型,即动态存储,如果不赋初值,将是一个不确定的值。而将局部变量定义为...

发表于 2018-03-29 09:21 116次阅读
C语言基本知识点和编程规范详解

初学C语言请一定要看完 C语言误区详解

今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约...

发表于 2018-03-28 16:13 341次阅读
初学C语言请一定要看完 C语言误区详解

C语言编译器是用来做什么的

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理...

发表于 2018-03-27 13:47 271次阅读
C语言编译器是用来做什么的

C语言编译器哪个好_6款好用的C语言编译器推荐

使用VC++6.0中文版,因为国家考试用的就是那个,当然了还有Turbo C这个也是以前国家考试用的...

发表于 2018-03-27 11:20 507次阅读
C语言编译器哪个好_6款好用的C语言编译器推荐

单片机C语言编程心得

发表于 2018-03-27 11:14 233次阅读
单片机C语言编程心得

学习c语言需要什么软件_c语言编程软件有哪些

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储...

发表于 2018-03-27 10:58 481次阅读
学习c语言需要什么软件_c语言编程软件有哪些

字符串函数strlen的深入研究

本系列是为了剖析crt库中intel模块下的那些函数的,那么我们去找找那里面有没有strlen的实现...

发表于 2018-03-26 16:01 250次阅读
字符串函数strlen的深入研究

学嵌入式能不能只用C写程序?

想深入链接C语言的函数是如何调用的,参数是如何传递的,想了解指针的本质、函数名的本质,就要深入汇编级...

发表于 2018-03-26 08:34 240次阅读
学嵌入式能不能只用C写程序?

C语言作为高级编程语言中的一门“低级”语言为什么...

看开源代码是程序员进阶的一个很好途径,而很多开源的软件,都是用C语言实现的。Linux/Unix系统...

发表于 2018-03-23 16:04 471次阅读
C语言作为高级编程语言中的一门“低级”语言为什么...

整理总结一份属于自己的编码风格

· Lib:引用的库文件。 一个工程一定要包含一个main.c文件,只用来存放main函数。其余函...

发表于 2018-03-23 11:48 238次阅读
整理总结一份属于自己的编码风格

如何减少嵌入C语言代码空间大小

发表于 2018-03-23 10:46 113次阅读
如何减少嵌入C语言代码空间大小

C语言位运算+实例讲解

C语言位运算有6种: &, | , ^(亦或), <<(左移), >>(右移)。 注意:参与位运算...

发表于 2018-03-22 16:00 368次阅读
C语言位运算+实例讲解

什么是C语言的可移植?

发表于 2018-03-22 13:07 204次阅读
什么是C语言的可移植?

超详细的C语言运算符优先级

每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的...

发表于 2018-03-20 17:00 422次阅读
超详细的C语言运算符优先级

电子研发低成本方案导致的灾难性后果

当时国内从事动态密码器研发生产的公司并不多,而能拥有自主知识产权的公司更少。公司创始人是剑桥大学毕业...

发表于 2018-03-20 08:42 509次阅读
电子研发低成本方案导致的灾难性后果

C语言位运算实例讲解

作用:实现二倍乘除运算(右移几位相当于除于二的几次方。左移几位,相当于乘上二的几次方。

发表于 2018-03-19 08:44 293次阅读
C语言位运算实例讲解

51单片机程序深入编写裸机代码有助于了解硬件的特...

现将while(1);语句屏蔽掉。我还以为程序不能被正确执行了呢,因为退出了main主函数,就像Re...

发表于 2018-03-19 08:36 433次阅读
51单片机程序深入编写裸机代码有助于了解硬件的特...

从汇编、C语言为起点,再到FPGA开发设计经验总...

在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。所以不...

发表于 2018-03-17 09:19 596次阅读
从汇编、C语言为起点,再到FPGA开发设计经验总...

C语言与汇编语言相互结合的嵌套汇编语言

要提高单片机技能,必须掌握C 语言编程,因为C 语言有强大的模块化管理思想。我想在很多人学习的过程中...

发表于 2018-03-14 18:23 202次阅读
C语言与汇编语言相互结合的嵌套汇编语言

C语言程序例程的文件结构

以往写C语言程序都是一个文件里面写个几十、几百行,在练算法的时候还可以,现在搞开发需要模块化编程,所...

发表于 2018-03-14 10:32 487次阅读
C语言程序例程的文件结构

所有操作系统的内核几乎都是用C语言写的,原因何在?

发表于 2018-03-13 11:25 339次阅读
所有操作系统的内核几乎都是用C语言写的,原因何在?

C语言用dev c++和VC6.0有什么区别

发表于 2018-03-13 10:20 237次阅读
C语言用dev c++和VC6.0有什么区别

如何利用单片机高级C语言编制应用程序

系统由电器和机械两部分组成。机械部分由寄存柜箱位、电控锁组成;电器部分由单片机、控制继电器、操作面板...

发表于 2018-03-13 09:46 250次阅读
如何利用单片机高级C语言编制应用程序

C语言访问MCU寄存器用两种方式实现

ICCAVR和GCCAVR没有定义新的数据类型,只能采用标准C的强制类型转换和指针来实现访问MCU的...

发表于 2018-03-12 11:20 732次阅读
C语言访问MCU寄存器用两种方式实现

FPGA设计的经验技巧,FPGA开发设计经验总结

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在P...

发表于 2018-03-12 10:35 608次阅读
FPGA设计的经验技巧,FPGA开发设计经验总结

关于跳舞机器人的C语言程序设计编写

编写简谱的数组,其中第一项为音符,第二项为节拍,第三项为小车动作值。还有定时器中断处理程序,用它来输...

发表于 2018-03-12 09:50 260次阅读
关于跳舞机器人的C语言程序设计编写

C语言中对引的读写操作 sbit的三种用法

第一种方法:sbit位变量名=地址值 第二种方法:sbit位变量名=SFR名称^变量位地址值 第...

发表于 2018-03-12 09:32 137次阅读
C语言中对引的读写操作 sbit的三种用法

[转]如何学好C语言?

发表于 2018-03-12 09:06 384次阅读
[转]如何学好C语言?

操作系统的内核都是用C语言写的_这不全是嵌入式选...

以一个人从A地到B地为例,面向过程就是需要规划路线,了解路况,自己做好一系列的准备;而面向对象就是坐...

发表于 2018-03-11 20:03 294次阅读
操作系统的内核都是用C语言写的_这不全是嵌入式选...

C语言的PID实现

发表于 2018-03-09 16:33 460次阅读
C语言的PID实现

如果是初学C语言请看完,如何学好C语言绝对精品

C语言程序设计是我们的专业基础课,但是C语言本身却是一个非常强大的工具,它是到目前为止最为广泛使用的...

发表于 2018-03-09 14:47 425次阅读
如果是初学C语言请看完,如何学好C语言绝对精品

[C语言开发技术详解].戴建华.扫描版

发表于 2018-03-08 23:30 497次阅读
[C语言开发技术详解].戴建华.扫描版

C语言源程序的数字滤波算法介绍(九种)

假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();/*...

发表于 2018-03-07 14:43 249次阅读
C语言源程序的数字滤波算法介绍(九种)

C程序语言在电路板上编写一组流水灯

用C程序语言,编写一个程序,让我们的电路板上,产生一组流水灯,让大家看到我们的产品像流水一样闪动。

发表于 2018-03-06 15:14 181次阅读
C程序语言在电路板上编写一组流水灯

库函数头文件大全

库函数是把函数放到库里,供别人使用的一种方式。方法是把一些常用到的函数编完放到一个文件里,供不同的人...

发表于 2018-03-02 10:46 336次阅读
库函数头文件大全

标准函数是什么_标准函数有哪些

在程序设计中,常将一些常用的功能模块编写成的函数放在函数库中供公共选用,一般称为标准函数。程序是由若...

发表于 2018-03-02 10:24 397次阅读
标准函数是什么_标准函数有哪些

一文看懂C语言异或运算

异或是一个数学运算符它应用于逻辑运算。本文开始介绍了异或运算的法则,其次介绍了异或运算的作用,最后详...

发表于 2018-03-01 11:52 147次阅读
一文看懂C语言异或运算

C语言编程时常犯的18种错误

C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编...

发表于 2018-02-27 14:51 627次阅读
C语言编程时常犯的18种错误

位置式PID算法的C语言代码

本文主要介绍位置式PID算法的C语言代码以及它的写法,具体的一起来了解一下。

发表于 2018-02-26 10:17 200次阅读
位置式PID算法的C语言代码

你知道嵌入式c中各变量存储位置吗

在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别: ...

发表于 2018-02-24 13:53 725次阅读
你知道嵌入式c中各变量存储位置吗

解析C语言7大编码规范

1 排版规则 1) 程序应采用缩进风格编写,每层缩进使用一个制表位(TAB),类定义、方法都应...

发表于 2018-02-09 15:38 841次阅读
解析C语言7大编码规范

分享python编程经历

Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Python语言编写的...

发表于 2018-02-09 15:27 1178次阅读
分享python编程经历

详细剖析C语言编译过程

编译---->形成目标代码,目标代码是在目标机器上运行的代码。 连接---->将目标代码与C函...

发表于 2018-02-08 17:02 737次阅读
详细剖析C语言编译过程

很全面的嵌入式开发与学习的入门知识

刚刚涉及嵌入式开发者总是先阅读一些指导类型文章,然后就开始对开发语言的选择踌躇不决。是C 还是C++...

发表于 2018-02-08 16:55 1473次阅读
很全面的嵌入式开发与学习的入门知识

大学c语言必背基础知识_c语言基础知识大全

程序中以 /*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序...

发表于 2018-02-08 16:02 1218次阅读
大学c语言必背基础知识_c语言基础知识大全

c语言程序设计知识点

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储...

发表于 2018-02-08 15:39 763次阅读
c语言程序设计知识点

c语言经典小程序汇总大全

网上有很多的人说编程有多么多么无聊,其实:不要管别人怎么说,别人说什么,做你自己喜欢做的事就好。坚持...

发表于 2018-02-08 14:37 1030次阅读
c语言经典小程序汇总大全

开关控制报警器的程序设计

名称:开关控制报警器 说明:用 K1 开关控制报警器,程序控制 P1.0 输出两种不同频率的声...

发表于 2018-02-07 09:23 683次阅读
开关控制报警器的程序设计

plc与C语言有什么关系_plc可以用c语言编程...

PLC为可编程逻辑控制器(Programmable Logic Controller)的首字母缩写。...

发表于 2018-02-06 14:55 1016次阅读
plc与C语言有什么关系_plc可以用c语言编程...

Java编程和c语言哪一种更有优势_C语言与JA...

软件开发编程语言多达600余种,每种都有各自的特点和应用领域。目前,在国内,最热的几门编程语言无外乎...

发表于 2018-02-05 17:23 1226次阅读
Java编程和c语言哪一种更有优势_C语言与JA...

C语言实现简单的基数排序

本文主要阐述的类容是C语言实现简单的基数排序。基数排序是一种分配排序,其基本思想是:排序过程无须比较...

发表于 2018-02-05 14:57 185次阅读
C语言实现简单的基数排序

介绍了C语言和机器语言的关系 以及其他类型语言的...

我们知道,任何编程语言编写的程序归根到底都是由底层机器的机器代码(01序列)执行的,无论是编译型语言...

发表于 2018-02-05 09:58 882次阅读
介绍了C语言和机器语言的关系 以及其他类型语言的...

分享做单片机开发应该知道的几个基本技巧

对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系...

发表于 2018-02-03 09:11 1124次阅读
分享做单片机开发应该知道的几个基本技巧

剖析DSP编程优化的7个方法

方法一 把浮点运算改成定点运算 因为C6x DSP板并不支持浮点运算,但我们的原始程序代码是浮...

发表于 2018-02-02 14:56 617次阅读
剖析DSP编程优化的7个方法

Java程序与串口的通信实现及调试

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数...

发表于 2018-02-01 14:48 241次阅读
Java程序与串口的通信实现及调试

C语言的运行环境有哪些_哪些是值得推荐的_C语言...

C语言是发展比较早的一门编程语言,因而它也是发展比较成熟的一种编程语言。学习过C语言的人都知道,C语...

发表于 2018-02-01 10:24 1325次阅读
C语言的运行环境有哪些_哪些是值得推荐的_C语言...

MSP430与I2C总线接口技术的高效输出方案研...

MSP430单片机自从2000年问世以来,就以其功能完善、超低功耗、开发简便的特点得到了许多设计人员...

发表于 2018-01-31 17:17 211次阅读
MSP430与I2C总线接口技术的高效输出方案研...

网易有道CEO周枫推荐Go语言并介绍Go语言的3...

网易有道CEO周枫推荐Go语言。他认为Go很好地继承了C语言灵活、简单有效的思想;Go有很高的生产效...

发表于 2018-01-31 14:11 758次阅读
网易有道CEO周枫推荐Go语言并介绍Go语言的3...

ascii转换16进制原理

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCI...

发表于 2018-01-30 11:20 874次阅读
ascii转换16进制原理

ascii是什么意思_C语言中如何输出ASCII...

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCI...

发表于 2018-01-30 10:39 429次阅读
ascii是什么意思_C语言中如何输出ASCII...

分享学习单片机的四个阶段

第一阶段:学会C语言的常用语法,熟悉51单片机开发平台软件keil的操作,了解单片机的大概原理特性,...

发表于 2018-01-29 20:27 900次阅读
分享学习单片机的四个阶段

搞单片机程序开发应该掌握哪些技能和实际所用以及感...

需要掌握哪些技能 需要了解并使用过几款常见的单片机。 需要熟悉常见的硬件接口譬如 UAR...

发表于 2018-01-29 14:13 1657次阅读
搞单片机程序开发应该掌握哪些技能和实际所用以及感...

详细解析WORLD语音合成系统的原理以及使用方法

WORLD是一个基于C语言的开源语音合成系统,语音合成主要包括波形拼接和参数合成两种方法,WORLD...

发表于 2018-01-29 10:39 832次阅读
详细解析WORLD语音合成系统的原理以及使用方法

分析C语言到底需要掌握哪些知识以及怎样去掌握

C语言的精髓点在哪? 学到多少东西才能够达到做项目的标准?学习的时候需要注意哪些细节点?疑问太多以至...

发表于 2018-01-29 10:16 742次阅读
分析C语言到底需要掌握哪些知识以及怎样去掌握

通过实现一个简单的malloc来描述malloc...

任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,...

发表于 2018-01-27 23:30 747次阅读
通过实现一个简单的malloc来描述malloc...

通过实现一个简单的malloc来描述malloc...

任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,...

发表于 2018-01-27 23:30 710次阅读
通过实现一个简单的malloc来描述malloc...

现有的外设接口的优缺点解析以及一种新型外设接口的...

电路连接都是有VCC,GND两根电源线的,后面不再赘述了。应用的外设都局限在板载的一些低速低通信量芯...

发表于 2018-01-26 17:25 966次阅读
现有的外设接口的优缺点解析以及一种新型外设接口的...

巴特沃斯滤波器c语言代码

巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯蒂芬·巴特沃斯(Ste...

发表于 2018-01-26 11:23 526次阅读
巴特沃斯滤波器c语言代码

ds1307怎么使用(ds1307引脚图及功能_...

DS1307是低功耗、两线制串行读写接口、日历和时钟数据按BCD码存取的时钟/日历芯片。它提供秒、分...

发表于 2018-01-26 10:52 456次阅读
ds1307怎么使用(ds1307引脚图及功能_...

nmealib的使用可以缩短GPS的开发周期

该解码库目前最新为0.5.3版本,它使用纯C语言编写,支持windows、winCE 、UNIX平台...

发表于 2018-01-25 15:12 1038次阅读
nmealib的使用可以缩短GPS的开发周期

ADC0834模块的C51源程序

单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于...

发表于 2018-01-24 11:37 123次阅读
ADC0834模块的C51源程序

解析C语言与ARM汇编与的相互调用以及与 C++...

全局变量只能通过地址间接调用,为了访问C++语言中全局变量,首先要通过extern伪指令引入全局变量...

发表于 2018-01-23 10:29 888次阅读
解析C语言与ARM汇编与的相互调用以及与 C++...

基于C语言中scanf函数的3种常见问题的原因分...

在写代码时总是不小心在这里犯错,所以特意查了一下这个函数,并且做以整理,现分享给大家。

发表于 2018-01-22 12:34 937次阅读
基于C语言中scanf函数的3种常见问题的原因分...

如何成为嵌入式高手的学习路线解析

了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。 1、Linux...

发表于 2018-01-19 11:01 3305次阅读
如何成为嵌入式高手的学习路线解析

电路板排列问题 回溯(C语言)

本文为大家带来用C语言实现的回溯法电路板排列程序。

发表于 2018-01-18 17:06 165次阅读
电路板排列问题 回溯(C语言)

关于单片机和c语言的10个问题和解答

1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令...

发表于 2018-01-18 14:51 1012次阅读
关于单片机和c语言的10个问题和解答

基于gcc将C语言变量与指令操作数相关联

在C中嵌入汇编的最大问题是如何将C语言变量与指令操作数相关联。当然,gcc都帮我们想好了。下面是是一...

发表于 2018-01-16 14:55 1086次阅读
基于gcc将C语言变量与指令操作数相关联

利用C语言创建windows窗口的程序解析

C语言创建windows窗口

发表于 2018-01-15 10:42 1181次阅读
利用C语言创建windows窗口的程序解析

用C 语言描述AES256 加密算法

高级加密标准 (AES) 已经成为很多应用(诸如嵌入式系统中的应用等)中日渐流行的密码规范。自从 2...

发表于 2018-01-10 20:59 200次阅读
用C 语言描述AES256 加密算法

小波去噪c语言程序

主要介绍了小波去噪c语言程序,小波阈值去噪就是对信号进行分解,然后对分解后的系数进行阈值处理,最后重...

发表于 2018-01-10 16:11 800次阅读
小波去噪c语言程序

了解多线程并深入分析CreateThread与_...

本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreade...

发表于 2018-01-09 17:08 525次阅读
了解多线程并深入分析CreateThread与_...

基于C语言中指针的基本用法解析

我C语言中其它的知识都学得可以,唯独指针搞不懂。如果是这样,我可以很负责的告诉你,对于这门编程语言,...

发表于 2018-01-09 15:12 1162次阅读
基于C语言中指针的基本用法解析

基于MATLAB和c语言的区别分析对比

MatLab的底层是C写的,C的效率比MatLab要高,但MatLab语法简单多了,而且简单,但执行...

发表于 2018-01-08 08:31 962次阅读
基于MATLAB和c语言的区别分析对比