guizaishi 發(fā)表于 2021-9-22 13:17
減少不必要的程序,特別是數(shù)組,能少定義就少定義,能不定義全局變量就不要全局。.h文件也不要隨便定義,如 ...
npn 發(fā)表于 2021-9-22 12:19
具體是多少位,什么型號(hào)?
sadv 發(fā)表于 2021-9-22 13:53
感謝各位的回復(fù),芯片是SQ013L,目前的代碼里面已經(jīng)非常精簡(jiǎn)了,所有的全局變量都是按位來定義的,使用了位 ...
188610329 發(fā)表于 2021-9-22 15:42
只要是用C編寫的,永遠(yuǎn)沒資格說“非常”精簡(jiǎn),全局變量,和和多所謂的局部變量,對(duì)程序大小是沒有直接關(guān) ...
,不過感覺你說的很有道理,對(duì)于您說的調(diào)用次數(shù)很少的子函數(shù)浪費(fèi)空間的問題我也有做優(yōu)化,目前卡在一行進(jìn)行了多次移位和邏輯處理的語(yǔ)句上,加上這行語(yǔ)句程序大小增大很多就超出容量,單片機(jī)的RAM和ROM空間都很小,優(yōu)化了好一段時(shí)間也塞不進(jìn)去。sadv 發(fā)表于 2021-9-22 16:00
不懂匯編,不過感覺你說的很有道理,對(duì)于您說的調(diào)用次數(shù)很少的子函數(shù)浪費(fèi)空間的問題我也有做優(yōu)化, ...
Y_G_G 發(fā)表于 2021-9-22 15:58
這玩意是仿(義隆(仿PIC匯編))指令的OTP單片機(jī),也不知道是誰(shuí)仿誰(shuí),反正是跟著PIC走的
內(nèi)存只有1K,而且,是運(yùn) ...
wfqxgw 發(fā)表于 2021-9-22 16:00
如果是用Keil的話。里面有一個(gè)代碼優(yōu)化級(jí)別的。你選最大。有時(shí)會(huì)省20%左右空間。但是會(huì)讓你程序慢一些。這 ...
188610329 發(fā)表于 2021-9-22 16:03
有些精度不高的中間量,比如本來 0-500, 縮小到 0-250,用1個(gè)字節(jié),也是精簡(jiǎn)的一個(gè)方案,你可以參考一下 ...
sadv 發(fā)表于 2021-9-22 13:53
感謝各位的回復(fù),芯片是SQ013L,目前的代碼里面已經(jīng)非常精簡(jiǎn)了,所有的全局變量都是按位來定義的,使用了位 ...
sadv 發(fā)表于 2021-9-22 16:10
感謝,已經(jīng)做過嘗試,所有變量都是按位來定義的,也沒有用到這么大的數(shù)據(jù),8位就夠用了
188610329 發(fā)表于 2021-9-22 16:22
那就在 子函數(shù) 不傳參方面嘗試。一旦子函數(shù)傳參,就會(huì)多出很多 MOV 如果,引用的變量固定,返回的變量也 ...
函數(shù)不傳參方面也已經(jīng)優(yōu)化過了,看了大家的說法感覺只有匯編才能解決了黃youhui 發(fā)表于 2021-9-22 17:35
盡量別用庫(kù),printf函數(shù)所在的庫(kù),直接占據(jù)8K
oblivionqqqqq 發(fā)表于 2021-9-22 17:25
小容量的單片機(jī),要用匯編,盡量精簡(jiǎn)代碼
sadv 發(fā)表于 2021-9-22 16:06
確實(shí)是想替代義隆的單片機(jī)才找到的SQ013L,運(yùn)算方面沒有用到浮點(diǎn)類型的數(shù)據(jù),基本都是加減法和邏輯與或非 ...

hhh402 發(fā)表于 2021-9-23 01:32
這個(gè)單片機(jī)多少錢一片?資源這么少
hhh402 發(fā)表于 2021-9-23 01:32
這個(gè)單片機(jī)多少錢一片?資源這么少
slf252 發(fā)表于 2021-9-23 08:00
我也在用一款資源一樣的mcu,用C語(yǔ)言代碼寫不下,砍掉30%的功能,客戶勉強(qiáng)接受了
黃youhui 發(fā)表于 2021-9-23 08:30
STC11F04E 2塊一片
00云夢(mèng)澤00 發(fā)表于 2021-9-23 15:35
這個(gè)需要和個(gè)人能力掛鉤的 計(jì)算機(jī)原理、匯編缺一不可 用C代碼精簡(jiǎn)不到最優(yōu) 如果能用機(jī)器語(yǔ)言更好

sadv 發(fā)表于 2021-9-23 16:21
入行半年的我有點(diǎn)吃不消啊

sadv 發(fā)表于 2021-9-23 16:21
入行半年的我有點(diǎn)吃不消啊
188610329 發(fā)表于 2021-9-23 19:42
基于,40樓的拋磚引玉…………
Program Size: data=8.0 xdata=0 code=36
我把他的程序用,匯編寫了一遍 ...
sadv 發(fā)表于 2021-9-22 13:53
SQ013L
Y_G_G 發(fā)表于 2021-9-24 10:44
人家是PIC的匯編,不一樣的
PIC有的匯編是沒有比較的
MOV P1,#1也是不行的,早先的PIC是不能這樣 ...
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |