| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5211 人关注过本帖
标题:如何将单片机发送给上位机的十六进制数转换成十进制数并显示?
取消只看楼主 加入收藏
a979562553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-7-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
如何将单片机发送给上位机的十六进制数转换成十进制数并显示?
跪求大神帮忙,本人新手
搜索更多相关主题的帖子: 十六进制 单片机 十进制 如何 
2015-07-06 14:46
a979562553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-7-6
收藏
得分:0 
在标签中显示哦
2015-07-06 14:46
a979562553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-7-6
收藏
得分:0 
回复 3楼 lianyicq
用串口调试助手显示的十六进制数是对的,但转换的时候在上位机上只显示其中一个,要不就报错
2015-07-06 15:17
a979562553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-7-6
收藏
得分:0 
回复 4楼 风吹过b
这是我们写的代码,能帮我们看看吗?
Private Sub Command1_Click()
MSComm1.Settings = "2400,N,8,1"  '设置波特率4800,无校验位,8位数据位,一位停止位
= 4             '设定串口端口
MSComm1.InBufferSize = 64        '设置接收缓冲区大小
MSComm1.OutBufferSize = 64       '设置发送缓冲区大小
MSComm1.RThreshold = 1          '设置并返回产生oncomm事件的字符数
MSComm1.SThreshold = 0
MSComm1.InputLen = 0             '读取整个缓冲区
MSComm1.InputMode = comInputModeText   '以文本方式接收
MSComm1.InBufferCount = 0       '清空接收缓冲区
MSComm1.OutBufferCount = 0      '清空发送缓冲区
If MSComm1.PortOpen = False Then
     MSComm1.PortOpen = True
     End If
End Sub

斌吊 2015/7/6 15:20:36
Private Sub MSComm1_OnComm()
Dim i1 As Variant
Select Case
Case comEvReceive        ' '当串口无效时候显示R th resho ld 时引起O nComm 事件
i1 = MSComm1.Input
If i Mod 2 = 0 Then
    LabelTempShow.Caption = i1
    Picture1.PSet (jishu1 * 5, Val(i1)), vbRed
    jishu1 = jishu1 + 1
    a1(jishu1 - 1) = Val(i1)
Else
    If i1 > 60 Then
        warningtime = warningtime + 1
        LabelWarningT.Caption = warningtime
        List1.AddItem "当前湿度为:" + " " + i1
    End If
    LabelHumShow.Caption = i1
    Picture1.PSet (jishu2 * 5, Val(i1)), vbbule
    jishu2 = jishu2 + 1
    a2(jishu2 - 1) = Val(i1)
End If
i = i + 1
LabelTempShow.Caption = LabelTempShow.Caption + "℃"
LabelHumShow.Caption = LabelHumShow.Caption + "RH"
If jishu1 >= 2 Then
    Picture1.Line ((jishu1 - 1) * 5, a1(jishu1 - 2))-((jishu1) * 5, a1(jishu1 - 1)), vbRed
End If
If jishu2 >= 2 Then
    Picture1.Line ((jishu2 - 1) * 5, a1(jishu2 - 2))-((jishu2) * 5, a1(jishu2 - 1)), vbbule
End If
MSComm1.InBufferCount = 0 '清空接收缓冲器
End Select
End Sub
2015-07-06 15:21
a979562553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-7-6
收藏
得分:0 
回复 6楼 lianyicq
这是我们写的代码,帮我们看看吧,谢谢
Private Sub Command1_Click()
MSComm1.Settings = "2400,N,8,1"  '设置波特率4800,无校验位,8位数据位,一位停止位
= 4             '设定串口端口
MSComm1.InBufferSize = 64        '设置接收缓冲区大小
MSComm1.OutBufferSize = 64       '设置发送缓冲区大小
MSComm1.RThreshold = 1          '设置并返回产生oncomm事件的字符数
MSComm1.SThreshold = 0
MSComm1.InputLen = 0             '读取整个缓冲区
MSComm1.InputMode = comInputModeText   '以文本方式接收
MSComm1.InBufferCount = 0       '清空接收缓冲区
MSComm1.OutBufferCount = 0      '清空发送缓冲区
If MSComm1.PortOpen = False Then
     MSComm1.PortOpen = True
     End If
End Sub

斌吊 2015/7/6 15:20:36
Private Sub MSComm1_OnComm()
Dim i1 As Variant
Select Case
Case comEvReceive        ' '当串口无效时候显示R th resho ld 时引起O nComm 事件
i1 = MSComm1.Input
If i Mod 2 = 0 Then
    LabelTempShow.Caption = i1
    Picture1.PSet (jishu1 * 5, Val(i1)), vbRed
    jishu1 = jishu1 + 1
    a1(jishu1 - 1) = Val(i1)
Else
    If i1 > 60 Then
        warningtime = warningtime + 1
        LabelWarningT.Caption = warningtime
        List1.AddItem "当前湿度为:" + " " + i1
    End If
    LabelHumShow.Caption = i1
    Picture1.PSet (jishu2 * 5, Val(i1)), vbbule
    jishu2 = jishu2 + 1
    a2(jishu2 - 1) = Val(i1)
End If
i = i + 1
LabelTempShow.Caption = LabelTempShow.Caption + "℃"
LabelHumShow.Caption = LabelHumShow.Caption + "RH"
If jishu1 >= 2 Then
    Picture1.Line ((jishu1 - 1) * 5, a1(jishu1 - 2))-((jishu1) * 5, a1(jishu1 - 1)), vbRed
End If
If jishu2 >= 2 Then
    Picture1.Line ((jishu2 - 1) * 5, a1(jishu2 - 2))-((jishu2) * 5, a1(jishu2 - 1)), vbbule
End If
MSComm1.InBufferCount = 0 '清空接收缓冲器
End Select
End Sub
2015-07-06 15:22
a979562553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-7-6
收藏
得分:0 
回复 8楼 a979562553
哦哦,谢谢,我拿去试试。顺便问一下,上位机与单片机除了串口通信,还需要通信协议吗
2015-07-06 15:55
快速回复:如何将单片机发送给上位机的十六进制数转换成十进制数并显示?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031211 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved