求助关于ch375程序的问题

我现在用的是网上给的例子ch375hft.c,用的是AVR单片机,为什么我编译出来之后生成的ch375hft.hex文件有43k这么大啊,我的单片机的flash才16k啊?请问这两者有关系吗?[Emot]5[/Emot]

生成的ch375hft.hex文件的大小,并不是真正的程序所需要空间的大小。具体程序占多大的代码空间,你得看编译时代码端(code)的大小。


你是说生成的.c文件的大小吗?


不是的,实际生成的HEX文件实际是16进制的文件,而你可以将16进制文件转换成2进制的文件的话,那就是你写进单片机里面的实际程序空间的大小,或者按照2楼说的方法知道CODE的大小


我还是有点不明白,到底怎么确定我要写进单片机内的程序的大小呢? 难道16进制和2进制的文件大小不一样吗? 我刚开始学习单片机不是很明白,请赐教!


不是说用ch375对单片机要求不少于4-7k的flash吗,我的编译之后出现了下面的情况,请帮忙解释是什么 Device: atmega16

Program: 15544 bytes (94.9% Full) (.text + .data + .bootloader)

Data: 1297 bytes (126.7% Full) (.data + .bss + .noinit)


你用的是AVR单片机,最少需要在atmega16上面才能执行我们的库文件,至于程序空间4-7K指的是在51单片机上面,并且库文件为LIB4的时候才为这么多


那有没有办法精简一下代码呢,按这个比例这也烧不进去单片机啊?


我用的就是ATMEGA16啊,为什么还这么多啊?


并且你们给的ch375lib.zip里面的AVR中的exam6中的例子的.hex格式的也是43k 啊!hcn帮忙啊!


和你说了,43K是16进制的文件的大小,实际按照你编译出来的文件大小为15544 bytes (94.9% Full)个程序空间,完全可以烧到M16单片机里面去啊


我不能用单片机只做这一件事情啊,我还得用ad将转换的数据存到U盘里,那肯定不行了,我准备换成ATmega32了,不知道兼容否?不过还是要谢谢你。


M32和M16程序上面应该是兼容的


只有登录才能回复,可以选择微信账号登录