《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 单片机到嵌入式之路序列之一:简单的讨论一下C语言知识

单片机到嵌入式之路序列之一:简单的讨论一下C语言知识

2015-05-29

  一、C语言的好处

  1.可移植性强;

  2.开发速度快,效率高;

  3.结构清晰

  4....

  二、C语言的位操作

  在单片机中C语言的位操作用的比较多,而且用的好对代码的执行效率都是很有帮助的,下面简单介绍一下在单片机中的应用,就算是抛砖引玉吧。

  定义一个8位的寄存器(0xF0是寄存器的地址):

  #define REG 0xDE

  1)对单个的位进行赋值

  (1)将寄存器REG的第2位置“1”

  REG |= (1 << 2);

  (2)将寄存器REG的第2位清零

  REG &= ~(1 << 2);

  (3)将寄存器REG的第2和第4位置“1”

  REG |= (1 << 4) | (1 << 2);

  (4)将寄存器REG的第3和5位清零

  REG &= ~( (1 << 5) | (1 << 3) );

  所以书上就出了一些口诀:

  位置1使用位运算"|"

  位置0使用位运算"&"

  三、C语言的结构体在单片机中的应用

  结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。但是有时候结构体会涉及一些比较麻烦的事情:结构体的大小与内存对齐。这个暂时不解释。下面主要讲解一下如何应用。

  比如在时钟程序中,经常就会用到结构体,结构体用的好,事半功倍。

  //定义一个时间结构体

  typedef struct

  {

  u16 Year;

  u8 Month;

  u8 Day;

  u8 Week;

  u8 Hour;

  u8 Min;

  u8 Sec;

  }Dtime;

  像上面这种太普通了,下面来个难点的。

  //时间结构体

  Dtime SetTM;

  typedef struct{

  short Min; //最小值

  short Max; //最大值

  short Tv; //变量

  }Limi; 这个结构体就可以通过按键来控制,按键加减可以调节时间。

  其实C语言*,这仅仅只是一个方面,像指针、函数、联合体等等都是重点,链表等等都是经典。


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。