guizaishi 发表于 2021-9-22 13:17
减少不必要的程序,特别是数组,能少定义就少定义,能不定义全局变量就不要全局。.h文件也不要随便定义,如 ...
npn 发表于 2021-9-22 12:19
具体是多少位,什么型号?
sadv 发表于 2021-9-22 13:53
感谢各位的回复,芯片是SQ013L,目前的代码里面已经非常精简了,所有的全局变量都是按位来定义的,使用了位 ...
188610329 发表于 2021-9-22 15:42
只要是用C编写的,永远没资格说“非常”精简,全局变量,和和多所谓的局部变量,对程序大小是没有直接关 ...
sadv 发表于 2021-9-22 16:00
不懂汇编,不过感觉你说的很有道理,对于您说的调用次数很少的子函数浪费空间的问题我也有做优化, ...
Y_G_G 发表于 2021-9-22 15:58
这玩意是仿(义隆(仿PIC汇编))指令的OTP单片机,也不知道是谁仿谁,反正是跟着PIC走的
内存只有1K,而且,是运 ...
wfqxgw 发表于 2021-9-22 16:00
如果是用Keil的话。里面有一个代码优化级别的。你选最大。有时会省20%左右空间。但是会让你程序慢一些。这 ...
188610329 发表于 2021-9-22 16:03
有些精度不高的中间量,比如本来 0-500, 缩小到 0-250,用1个字节,也是精简的一个方案,你可以参考一下 ...
sadv 发表于 2021-9-22 13:53
感谢各位的回复,芯片是SQ013L,目前的代码里面已经非常精简了,所有的全局变量都是按位来定义的,使用了位 ...
sadv 发表于 2021-9-22 16:10
感谢,已经做过尝试,所有变量都是按位来定义的,也没有用到这么大的数据,8位就够用了
188610329 发表于 2021-9-22 16:22
那就在 子函数 不传参方面尝试。一旦子函数传参,就会多出很多 MOV 如果,引用的变量固定,返回的变量也 ...
黄youhui 发表于 2021-9-22 17:35
尽量别用库,printf函数所在的库,直接占据8K
oblivionqqqqq 发表于 2021-9-22 17:25
小容量的单片机,要用汇编,尽量精简代码
sadv 发表于 2021-9-22 16:06
确实是想替代义隆的单片机才找到的SQ013L,运算方面没有用到浮点类型的数据,基本都是加减法和逻辑与或非 ...
hhh402 发表于 2021-9-23 01:32
这个单片机多少钱一片?资源这么少
hhh402 发表于 2021-9-23 01:32
这个单片机多少钱一片?资源这么少
slf252 发表于 2021-9-23 08:00
我也在用一款资源一样的mcu,用C语言代码写不下,砍掉30%的功能,客户勉强接受了
黄youhui 发表于 2021-9-23 08:30
STC11F04E 2块一片
00云梦泽00 发表于 2021-9-23 15:35
这个需要和个人能力挂钩的 计算机原理、汇编缺一不可 用C代码精简不到最优 如果能用机器语言更好
sadv 发表于 2021-9-23 16:21
入行半年的我有点吃不消啊
sadv 发表于 2021-9-23 16:21
入行半年的我有点吃不消啊
188610329 发表于 2021-9-23 19:42
基于,40楼的抛砖引玉…………
Program Size: data=8.0 xdata=0 code=36
我把他的程序用,汇编写了一遍 ...
sadv 发表于 2021-9-22 13:53
SQ013L
Y_G_G 发表于 2021-9-24 10:44
人家是PIC的汇编,不一样的
PIC有的汇编是没有比较的
MOV P1,#1也是不行的,早先的PIC是不能这样 ...
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |