打印

用串口调试助手如何从单片机发送16位的数据?

[复制链接]
6712|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sky657|  楼主 | 2013-5-24 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sky657 于 2013-5-24 17:16 编辑

比如说
  SBUF='1';//28;        
  while(!TI);        
  TI=0;
可以发1到电脑
如果要发0xE5呢?

我试了
a=0xe5;
  SBUF=(uchar)(a/256)+0x30;   
  while(!TI);        
  TI=0;
   SBUF=(uchar)(a%256)+0x30;   
  while(!TI);        
  TI=0;
它显示的这个 0

相关帖子

沙发
coody| | 2013-5-24 17:41 | 只看该作者
我承认基础差,看不明白你到底说的是啥

使用特权

评论回复
板凳
zwp0822| | 2013-5-24 18:06 | 只看该作者
把你的串口助手改成16进制显示就可以了

使用特权

评论回复
地板
huangxz| | 2013-5-24 19:05 | 只看该作者
0xe5+0x30是不可显示的字符
改成16禁止显示应该可以

使用特权

评论回复
5
dongranmengming| | 2013-5-24 20:02 | 只看该作者
:L
你要发送的数据位0xe5,是八位;
0xe5/265 = 0  ;0+0x30 ='0'
0xe5%256 = 0xe5; 0xe5+0x30 = 0x15 ASCII中这个是NAK,拒绝接受
你要是想看16位数据,就不要用字符模式,用hex

使用特权

评论回复
6
sunhq02| | 2013-5-25 09:08 | 只看该作者
楼主在搞笑。。。

使用特权

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

本版积分规则

158

主题

409

帖子

1

粉丝