上嵌基地吧 关注:47贴子:76
  • 0回复贴,共1

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

只看楼主收藏回复

一、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语言*,这仅仅只是一个方面,像指针、函数、联合体等等都是重点,链表等等都是经典。


1楼2015-05-19 17:10回复