• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机发送数据问题

33fd6c91c3b5ab47 2018-09-25 浏览量:1745
单片机如何将ds18b20测得的温度通过串口发送到电脑上边,获取到的温度是十进制,但是串口只能发送16进制,请问怎么转换才能发送正确的温度值?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 串口是只能按字节发送,但数值在系统中本身就是二进制数据,对整数来说,二进制数据最后表示为十进制、十六进制或者二进制没有区别的。

    即其实你可以直接发送这个数据,只要接收方知道如何解析这个数据即可(比如直接识别为二进制)

    当然你也可以按字符发送,即把数据转换成多个字符的组合,每个字符都是8bit的数据。

    • 发布于 2018-09-25
    • 举报
    • 评论 1
    • 8
    • 0
lcr12 回复了 xdsnet:讲解很到位 回复

其他答案 数量:29
  • 将DS18B20的数据保存到变量中就行了,变量是没有十进制、十六进制之分的,可以直接使用。

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 4
    • 0

  • DS18b20温度传感器,采用数据总线传输数据,把数据读取出来就可以了
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 3
    • 0

  • 串口发送数据无所谓什么类型,

    单片机发的是10进制,电脑接受后按照 10进制解析。

    单片机发 16进制,电脑按照 16进制解析,无所谓的。

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 2
    • 0

  • 按十进制转换即可了,上位机会自动识别的
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 2
    • 0

  • 可以将printf函数重映射到串口函数,然后就可以用printf输出到串口了,printf时,将温度计算好,使用f(浮点)或者d(十进制)输出即可。
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 2
    • 0

  • 题主需要学习计算机原理

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 2
    • 0

  • 不同进制只是一个数值的不同表示形式,在串口通讯时收发双方都是以字节为单位传送数据,即都是以八位二进制方式按位传送数据。
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 2
    • 0

  • 二进制八进制还有十六进制是样的,要想显示温度值有两种方法,一种是直接通过单片机计算出温度值,通过串口传到电脑显示,还有一种就是电脑通国VB编写的控件显示出来,控件接收的就是单片机数据,可以是原数据,也可以是转换后的数据!
    • 发布于2018-09-26
    • 举报
    • 评论 1
    • 1
    • 0
lcr12 回复了 megar :这样的方法很不错,有创新 回复

  • 你可以把收到的数据转成BCD码后,再发送到电脑上
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以转换成char型,或者直接传数据,不受进制影响
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 获取到数据后,将数据转换为字符型发送就可以了

    因为字符实际上发送的是ASCII码

    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 单片机这块不需要怎么转换温度,主要是上位机这块需要解析你的数据并转换为温度显示
    • 发布于2018-09-27
    • 举报
    • 评论 0
    • 1
    • 0

  • 将温度储存在 数组中,整数和小数部分分开,让后传送出给串口助手,你点击 串口助手中的16进制 ,看那种数据是你想要的 ,
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 无所谓的你把数据保存转发就行
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 温度数据转ASCII码,发送到串口端,文本显示
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先你可以转换你的数据的进制,字符类型也可以改变来发送
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口连汉字都可以发送的不多你要用printf或者sprintf转换一下
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 要把对应的数据转换成对应的十进制,然后对串口端口到上位机显示
    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口上面的数据没有10进制16进制这种说法,统一只有高低电平,因此,你这里的数据转换,实际上是在显示的时候用不同的格式显示而已,这个在上位机的串口显示软件上面直接改就行
    • 发布于2018-10-05
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机发送数据问题