標(biāo)題: 51MCU spi實(shí)現(xiàn)的兩種方式 [打印本頁(yè)]

作者: 51黑黑黑    時(shí)間: 2016-2-24 02:19
標(biāo)題: 51MCU spi實(shí)現(xiàn)的兩種方式
方式1:


使用for定數(shù)循環(huán);?移位運(yùn)算?;與運(yùn)算?實(shí)現(xiàn)DIN口送數(shù)據(jù)。

方式2:


直接取數(shù)據(jù)的某一位,送數(shù)據(jù)總線上。
重復(fù)上面步驟8次。完成一個(gè)字節(jié)數(shù)據(jù)傳送。
可見方式2更高效。

方式2實(shí)現(xiàn)的物理支持是什么呢?


源于bdata。
   什么是bdata呢?可以位尋址的變量。?51架構(gòu)的單片機(jī)都有一段可位尋址的區(qū)域,位于20H~2FH,總共128位。在C51中編程時(shí),分配的bit型變量以都會(huì)定位到這段區(qū)域里。
   51是8位機(jī),一個(gè)字節(jié)一個(gè)字節(jié)的訪問(wèn),是它的特點(diǎn)。突然間,要1bit的訪問(wèn),會(huì)影響其性能。51就把可以位尋址的變量做了一個(gè)位帶,即每一個(gè)bit都有一個(gè)字節(jié)地址,當(dāng)然這個(gè)字節(jié)只能取值0或1,這樣把訪問(wèn)bit的事情,變成了訪問(wèn)字節(jié)的事情。提高了bit的訪問(wèn)速度。?
可以arm中“位帶操作”文章。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1