<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC程序優(yōu)化

PIC程序優(yōu)化

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
程序優(yōu)化中的幾點(diǎn)

賦值語(yǔ)句是非常占用空間的,一個(gè)普通的給外部變量的賦值語(yǔ)句可能需要20到40個(gè)字節的代碼空間。如果程序中有大量的賦值語(yǔ)句,會(huì )占用許多程序空間。優(yōu)化時(shí)可以針對有規律的賦值語(yǔ)句使用函數方式,以及使用memcpy方式。

本文引用地址:http://dyxdggzs.com/article/201611/316239.htm

在作比較時(shí),將if (x<(y+1))修改為if (x<=y)會(huì )節約不少。

循環(huán)中,在C51時(shí)for(x=0;x<10;x++)比f(wàn)or(x=10;x>0;x--)要多一個(gè)字節;在PICC18中則相反。

充分利用指針,可以提高程序的效率,但是要注意不能濫用。

適當的冗余代碼是需要的,不要把它們刪除了。

注意程序的寫(xiě)法

單片機程序中,代碼的表達方式,或者叫寫(xiě)法也是很重要的,一個(gè)不好的寫(xiě)法可能會(huì )造成空間的浪費和效率的降低。而一個(gè)好的寫(xiě)法會(huì )減少代碼的大小。不要依賴(lài)于編譯器的優(yōu)化功能,很多時(shí)候,優(yōu)化是沒(méi)有預期的那樣好的效果,可以手工優(yōu)化的地方就盡量自己動(dòng)手了。

還有就是不同的編譯器的優(yōu)化是不同的,需要嘗試一下不同的程序表達方式,經(jīng)過(guò)比較才能得到一個(gè)比較好的方式。

Keil串口調試技巧

Keil C51整合了目前功能最強的C51編譯器和最好的IDE調試環(huán)境。在新版本的Keil中,增加了很多功能,其中之一就是串口仿真。就是說(shuō)無(wú)須實(shí)際的硬件,利用計算機的串口就可以完全進(jìn)行串口仿真。

使用到的調試命令:

ASSIGN將計算機的串口設置為單片機的串口
語(yǔ)法:ASSIGN channel < inreg > outreg
例如:ASSIGN COM1 < SIN > SOUT
上面的括號不能少。

MODE設置串口的參數(波特率、數據位、停止位等)
語(yǔ)法:MODE COMx, baudrate, parity, databits, stopbits
例如:MODE COM2, 19200, 0, 8, 1

實(shí)際軟件調試時(shí),先在Keil中完成程序的編寫(xiě),然后進(jìn)入軟件仿真狀態(tài),并用一根自制的串口線(xiàn)將計算機的兩個(gè)串口環(huán)接起來(lái)(注意2與3要交叉,5可以接也可以不接)。這里需要計算機上至少要有兩個(gè)串口,一個(gè)是仿真單片機用,另外一個(gè)是通信調試用,不然就需要兩臺計算機了。在仿真狀態(tài)下,使用上面的兩個(gè)命令設置好串口的參數(每次都輸入參數會(huì )比較麻煩,這時(shí)可以在仿真參數中設置好配置文件)。在計算機中使用任何串口調試軟件與Keil進(jìn)行通信,可以在Keil中設置斷點(diǎn),實(shí)際結果與硬件仿真器的效果一樣,還更加簡(jiǎn)單方便。

更多的用法可以參考Keil的幫助文件DBG51.CHM

負數的問(wèn)題- -

在PICC18中,如果傳輸一個(gè)負數X時(shí),用X/256和X%256分別取高低位時(shí),高位會(huì )出現問(wèn)題,會(huì )被加一。

這個(gè)問(wèn)題需要這樣解決:先將X傳遞到一個(gè)無(wú)符號的整數,然后在分別取高低位,就不會(huì )出現問(wèn)題了。



關(guān)鍵詞: PIC程序優(yōu)

評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>