(急)8051的串口通信问题1

[复制链接]
3934|16
 楼主| blackbanana 发表于 2010-8-3 18:45 | 显示全部楼层 |阅读模式
如果SBUF='A',则一定是先传送A对应ASIC编码的高低电平吗??(试验得出是,但想在理论上再求证一下),可以改变编码吗??怎么改??
 楼主| blackbanana 发表于 2010-8-3 19:05 | 显示全部楼层
哇,高手快出现哦
rwy198155 发表于 2010-8-3 20:11 | 显示全部楼层
不管你怎么改,传出去的都是16进制的数,高底电平!
calor 发表于 2010-8-3 20:19 | 显示全部楼层
本帖最后由 calor 于 2010-8-3 20:21 编辑

想怎么改呢?另外纠正下,ASCII(不是ASIC)
如果你写的是SBUF='A',传送出去的肯定是A对应的ASCII码,对应的就高低电平。
想传别的数据,写SBUF=0xXX不就行了吗?
 楼主| blackbanana 发表于 2010-8-3 21:05 | 显示全部楼层
SBUF='A',keilC汇编之后A其实就成了ASCII码,对吗??
有办法将A以自己定义的编码发送出去吗 4# calor
calor 发表于 2010-8-3 21:59 | 显示全部楼层
本帖最后由 calor 于 2010-8-3 22:01 编辑

没这个必要吧,如果你想可以这样
#define A 0xA0
....
SBUF=A;
注意,A不要加引号了。
ayb_ice 发表于 2010-8-4 08:32 | 显示全部楼层
中间加个变换程序即可
最简单的查个表即可
 楼主| blackbanana 发表于 2010-8-4 09:16 | 显示全部楼层
您说的变换程序我可以这样理解吗,我要发送A,但其实可以发送B,只是A映射到B上了 7# ayb_ice ??
new1988 发表于 2010-8-4 10:38 | 显示全部楼层
难道楼主要做数据加密???
batsong 发表于 2010-8-4 10:54 | 显示全部楼层
#define A 0xA0

这样定义肯定悲剧,A都敢替换
zjswuyunbo 发表于 2010-8-4 12:56 | 显示全部楼层
恩。可以重新列个表。。
pengfei06 发表于 2010-8-4 17:11 | 显示全部楼层
试试堆栈 数据用双引号
calor 发表于 2010-8-4 21:26 | 显示全部楼层
本帖最后由 calor 于 2010-8-4 21:28 编辑

编辑点,不好意思,发重复了。
calor 发表于 2010-8-4 21:27 | 显示全部楼层
#define A 0xA0

这样定义肯定悲剧,A都敢替换
batsong 发表于 2010-8-4 10:54

#define A 0x10
SBUF=0x10;//语句一
SBUF='A';//语句二
语句一输出的应该是0x10
语句二输出的应该是A对应的ASCII表。
这个有什么问题吗?
gyw886 发表于 2010-8-5 08:30 | 显示全部楼层
可以测试一下
 楼主| blackbanana 发表于 2010-8-5 10:42 | 显示全部楼层
不是数据加密,只是在恰好看到这个,有对单片机发送的编码有点不太理解,所以问一问 9# new1988
watsoncheung 发表于 2010-9-3 09:42 | 显示全部楼层
学习了,很好的主意啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

37

帖子

1

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