为啥程序要变为HEX文件导入单片机,而不是二进制文件

能烧bin文件的应该也很多啊……最后烧进ROM里面的时候都是二进制的,没有哪个蛇精病的单片机会去执行ASCII格式的指令集。烧写器输入HEX格式完全是为了给人服务,在烧写的过程中,会自动转换成二进制格式然后写进ROM里面。这么设计的原因就不清楚了,也许最开始给单片机编程的时候是直接使用机器指令的,所以改HEX文件比较容易。另一个可能的原因是HEX格式可以指定地址,这样没有必要把完整的ROM大小的文件传输进去,比较适合分成很多段的程序的烧写(为了方便链接,程序一般都会编译成一小段一小段的二进制代码,然后加载到整数基址的位置上,所以使用的ROM其实是不连续的)
■网友
因为你用的烧录软件只支持那个格式,没有任何特殊原因
■网友
hex文件是二进制的,只是你是四个二进制当作一个单位读的,那就是十六进制。但是计算机确实一个二进制一个二进制读的,就是二进制的。
■网友
.hex存储了数据的地址以及一些其他信息,方便软件和人, .bin就只有数据信息
■网友
hex比bin能保存的数据更多
■网友
你可以简单理解hex文件存储量更大且数据地址内容更广泛!
■网友
0xF=15=1111bin和hex并没有什么区别只要你高兴 用十进制表示机器码都是可以的 反正最后烧进单片机的是二进制码
■网友
bin格式和hex格式并没有本质区别,可以互转的。
■网友
【为啥程序要变为HEX文件导入单片机,而不是二进制文件】 hex用16个地址线16位二进制,bin用8个地址线8位二进制


    推荐阅读