hex和ascii转换工具 51单片机怎么生成16进制文件?

[更新]
·
·
分类:互联网
3018 阅读

hex和ascii转换工具

51单片机怎么生成16进制文件?

51单片机怎么生成16进制文件?

如果是ASCII码表内的符号值,那么ASCII值本身就可以认为是 16进制的(因为进制只是给人看的,单片机只有2进制,没有ASCII 和 Hex 之分),但如果是Hex值,经过ASCII发送后,需要接收解出数值,那么可以用这个函数:
uchar ASCII_ToHex(uchar ascii_data) //ASCII 转 Hex 函数
{
uchar hex_data0 //定义 Hex变量存储转换结果
if(ascii_datagt#390#39 ampamp ascii_datalt#399#39) hex_dataascii_data-#390#39 //若 转换内容为 字符#390-9#39,则转成对应数字0-9
else if(ascii_datagt#39a#39 ampamp ascii_datalt#39f#39) hex_dataascii_data-#39a#39 10 //若 转换内容为 字符#39a-f#39,则转成数字10-15
else if(ascii_datagt#39A#39 ampamp ascii_datalt#39F#39) hex_dataascii_data-#39A#39 10 //若 转换内容为 字符#39A-F#39,则转成数字10-15
return hex_data //返回转换结果,非以上字符,不在Hex(0-F)范围内,默认0
}//

请问为什么keil4无法生成HEX文件,编译没出错,勾选了生成设置?

谢邀!
读不出来,因为MCU中没有hex文件,Hex文件只是下载时的中间文件。如果MCU没有加密,只能读出机器指令,要自己反汇编成汇编语言。
Hex格式经常用于嵌入式系统目标文件,而实际上它是把机器指令和指令所放的地址进行编码,用ascii编码,用于传送编码,而不直接传送二进制机器指令。
MCU中的引导程序接收hex文件后,译码成机器指令和存放位置。------1.打开Arduino2.在选项中找到preference.txt,点击用记事本打开3.关闭Arduino4.在打开的preference.txt中添加一行 my_path保存,关闭记事本。
5.在d盘根目录下创建一个目录my_pathok了!正常编译吧,看my_path下有什么。