新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話(huà) > 【單片機(jī)到嵌入式之路】序列之1:簡(jiǎn)單的討論一下C語(yǔ)言知識(shí)

【單片機(jī)到嵌入式之路】序列之1:簡(jiǎn)單的討論一下C語(yǔ)言知識(shí)

—— 【單片機(jī)到嵌入式之路】序列之一:簡(jiǎn)單的討論一下C語(yǔ)言知識(shí)
作者: 時(shí)間:2015-04-24 來(lái)源:網(wǎng)絡(luò) 收藏

  一、的好處

本文引用地址:http://m.butianyuan.cn/article/273150.htm

  1.可移植性強(qiáng);

  2.開(kāi)發(fā)速度快,效率高;

  3.結(jié)構(gòu)清晰

  4....

  二、的位操作

  在單片機(jī)中的位操作用的比較多,而且用的好對(duì)代碼的執(zhí)行效率都是很有幫助的,下面簡(jiǎn)單介紹一下在單片機(jī)中的應(yīng)用,就算是拋磚引玉吧。

  定義一個(gè)8位的寄存器(0xF0是寄存器的地址):

  #define REG 0xDE

  1)對(duì)單個(gè)的位進(jìn)行賦值

  (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) );

  所以書(shū)上就出了一些口訣:

  位置1使用位運(yùn)算"|"

  位置0使用位運(yùn)算"&"

  三、C語(yǔ)言的結(jié)構(gòu)體在單片機(jī)中的應(yīng)用

  結(jié)構(gòu)體(struct)是由一系列具有相同類(lèi)型或不同類(lèi)型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合,也叫結(jié)構(gòu)。但是有時(shí)候結(jié)構(gòu)體會(huì)涉及一些比較麻煩的事情:結(jié)構(gòu)體的大小與內(nèi)存對(duì)齊。這個(gè)暫時(shí)不解釋。下面主要講解一下如何應(yīng)用。

  比如在時(shí)鐘程序中,經(jīng)常就會(huì)用到結(jié)構(gòu)體,結(jié)構(gòu)體用的好,事半功倍。

  //定義一個(gè)時(shí)間結(jié)構(gòu)體

  typedef struct

  {

  u16 Year;

  u8 Month;

  u8 Day;

  u8 Week;

  u8 Hour;

  u8 Min;

  u8 Sec;

  }Dtime;

  像上面這種太普通了,下面來(lái)個(gè)難點(diǎn)的。

  //時(shí)間結(jié)構(gòu)體

  Dtime SetTM;

  typedef struct{

  short Min; //最小值

  short Max; //最大值

  short Tv; //變量

  }Limi; 這個(gè)結(jié)構(gòu)體就可以通過(guò)按鍵來(lái)控制,按鍵加減可以調(diào)節(jié)時(shí)間。

  其實(shí)C語(yǔ)言*,這僅僅只是一個(gè)方面,像指針、函數(shù)、聯(lián)合體等等都是重點(diǎn),鏈表等等都是經(jīng)典。

  先休息了,有空再繼續(xù)。。。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程




關(guān)鍵詞: 嵌入式 C語(yǔ)言

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉