请求一个十六进制转ASCII的C程序

[复制链接]
9993|13
 楼主| keer_zu 发表于 2007-3-21 10:48 | 显示全部楼层 |阅读模式
 楼主| keer_zu 发表于 2007-3-21 10:50 | 显示全部楼层

不好意思

是十进制转ASCII的
xwj 发表于 2007-3-21 10:53 | 显示全部楼层

自己先试着写写看

这都不会还搞什么单片机啊???
 楼主| keer_zu 发表于 2007-3-21 12:52 | 显示全部楼层

请赐教

我通过串口向主机上发送一些数字,主机上的接收程序可以用十六进制和字符形式显示,而字符显示是以它的ASCII码显示的(把数字当作了ASCII码).所以我想先把数字转化成该数字的ASCII码.
21ele 发表于 2007-3-21 13:39 | 显示全部楼层

看一下数字字符Ascii码值的规律就清楚了。

‘0’-‘9’对应0x30-0x39
‘A’-‘F’对应0x37-0x42

所以如果是十进制码转Ascii,加0x30就可以了
如果是十六进制码转Ascii,判断一下,小于9的加0x30,大于的加37
注意被转换的数要保证合法,即<=9或<=0x0F
u08 Hex_to_Ascii( u08 hex )
{
    // hex转ascii
    if ( hex <= 0x09 )  
    {
        // 字符0-9  转换
        return hex+0x30;
    }
    else
    {
        // 字符A-F  转换
        return hex+0x37;
    }
}
平常人 发表于 2007-3-21 20:14 | 显示全部楼层

3楼说得对,楼主还是不要搞单片机啦,否则你会很累的!

winhiwang 发表于 2007-3-22 09:58 | 显示全部楼层

希望楼主能从中学到处理问题的方法,找找相互之间的规律

wsl_5631 发表于 2007-3-22 10:10 | 显示全部楼层

这样就可以了 "0123456789ABCDEF"[decimal_data]

ayb_ice 发表于 2007-3-22 10:16 | 显示全部楼层

随便说说

  标准库函数里都有这些东东...
glxcl 发表于 2013-8-28 08:21 | 显示全部楼层
16进制就是0~F??
glxcl 发表于 2013-8-28 08:22 | 显示全部楼层
中国人做程序就是这样,看来值得思考,唉,自称大师的人呀,深思!!
追梦人_梦 发表于 2013-10-3 11:57 | 显示全部楼层
数字字符Ascii码值的规律
‘0’-‘9’对应0x30-0x39
‘A’-‘F’对应0x37-0x42
高手帮忙解答一下怎么是重复的
追梦人_梦 发表于 2013-10-4 13:32 | 显示全部楼层
求TLC7135编程例子
嵌入式奋勇前进 发表于 2015-6-11 16:43 | 显示全部楼层
追梦人_梦 发表于 2013-10-3 11:57
数字字符Ascii码值的规律
‘0’-‘9’对应0x30-0x39
‘A’-‘F’对应0x37-0x42

你再仔细看看,想想,重复吗????
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1488

主题

12953

帖子

55

粉丝
快速回复 在线客服 返回列表 返回顶部