打印

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

[复制链接]
9179|13
手机看帖
扫描二维码
随时随地手机跟帖
沙发
keer_zu|  楼主 | 2007-3-21 10:50 | 只看该作者

不好意思

是十进制转ASCII的

使用特权

评论回复
板凳
xwj| | 2007-3-21 10:53 | 只看该作者

自己先试着写写看

这都不会还搞什么单片机啊???

使用特权

评论回复
地板
keer_zu|  楼主 | 2007-3-21 12:52 | 只看该作者

请赐教

我通过串口向主机上发送一些数字,主机上的接收程序可以用十六进制和字符形式显示,而字符显示是以它的ASCII码显示的(把数字当作了ASCII码).所以我想先把数字转化成该数字的ASCII码.

使用特权

评论回复
5
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;
    }
}

使用特权

评论回复
6
平常人| | 2007-3-21 20:14 | 只看该作者

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

使用特权

评论回复
7
winhiwang| | 2007-3-22 09:58 | 只看该作者

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

使用特权

评论回复
8
wsl_5631| | 2007-3-22 10:10 | 只看该作者

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

使用特权

评论回复
9
ayb_ice| | 2007-3-22 10:16 | 只看该作者

随便说说

  标准库函数里都有这些东东...

使用特权

评论回复
10
glxcl| | 2013-8-28 08:21 | 只看该作者
16进制就是0~F??

使用特权

评论回复
11
glxcl| | 2013-8-28 08:22 | 只看该作者
中国人做程序就是这样,看来值得思考,唉,自称大师的人呀,深思!!

使用特权

评论回复
12
追梦人_梦| | 2013-10-3 11:57 | 只看该作者
数字字符Ascii码值的规律
‘0’-‘9’对应0x30-0x39
‘A’-‘F’对应0x37-0x42
高手帮忙解答一下怎么是重复的

使用特权

评论回复
13
追梦人_梦| | 2013-10-4 13:32 | 只看该作者
求TLC7135编程例子

使用特权

评论回复
14
嵌入式奋勇前进| | 2015-6-11 16:43 | 只看该作者
追梦人_梦 发表于 2013-10-3 11:57
数字字符Ascii码值的规律
‘0’-‘9’对应0x30-0x39
‘A’-‘F’对应0x37-0x42

你再仔细看看,想想,重复吗????

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1352

主题

12436

帖子

53

粉丝