国产91九色_日本68xxxx_欧美高清另类自拍视频在线看_欧美人禽_99久久婷婷国产综合精品青牛牛_亚洲射情

您現在所在的是:

單片機論壇

回帖:22個,閱讀:19308 [上一頁] [1] [2] [3] [下一頁]
992
ppboy
文章數:13
年度積分:50
歷史總積分:992
注冊時間:2003/6/24
發站內信
發表于:2003/7/14 22:43:00
#0樓
各位大蝦

我應該把inputmode 設置成text還是binary
比如
 buf= mscomm1.input

那么buf里到底讀來的是什么
用text1.text=buf

為什么用binary時讀總是亂碼
如果讓他顯示出從單片機送出的16進制該怎么辦
比如 在單片機中 發送 mov a,#afh
mov sbuf,a
要顯示出來 是af字符該怎么辦
謝謝  了



[此貼子已經被思南于2003-7-15 17:23:19編輯過]
1223
Guan_Qing_Xin
文章數:175
年度積分:50
歷史總積分:1223
注冊時間:2002/8/7
發站內信
發表于:2003/7/15 1:49:00
#1樓
用VAL函數啊。
Val(string)  ‘返回包含于字符串內的數字,字符串中是一個適當類型的數值。
如果確認string是一個十六進制數字字符,則明確告訴VAL函數:

Dim n As Long
n = VAl("&H" & String)
992
ppboy
文章數:13
年度積分:50
歷史總積分:992
注冊時間:2003/6/24
發站內信
發表于:2003/7/15 10:32:00
#2樓
這位大蝦
我的意思是用vb來接受顯示單片機送來的16進制字符
比如
單片機發送
aa11ab33445566bb   aabb是開始和結束信號

那如何在vb中能顯示
aa11ab33445566bb
我設置
rthreshold是 8

Private Sub comm1_OnComm()
Dim buf1 As Variant
Dim buf$, i%

Select Case comm1.CommEvent
Case comEvReceive
inbyte = comm1.Input


For i = 0 To 7
buf = Hex(inbyte(i))
buf1 = buf1 & buf
Next
Text2.Text = n
comm1.InBufferCount = 0
End Select
End Sub

現在我把rxd和txd短結
用output命令發送
為什么在text2中顯示不出來
text2.text=buf1
1223
Guan_Qing_Xin
文章數:175
年度積分:50
歷史總積分:1223
注冊時間:2002/8/7
發站內信
發表于:2003/7/15 11:37:00
#3樓
未知"Text2.Text = n" 中的 n 是什么。
其實把 rthreshold置為1(每字符處理一次)則可處理任意長度的字串:

Private Sub comm1_OnComm()
Dim s$,s1$

Select Case comm1.CommEvent
 Case comEvReceive
     s = comm1.Input
    '例: 每一字符都更新一次text2.text
         text2.text = text2.text & s
    '或: 如果"bb" 是通訊協議中固定用的的結束符,則可在收到等它出現時再更新text2.text
        s1 = s1 & s
        If Len(s1) > 2 Then
           Iif Right(s1) = "bb" then
               text2.text = s1
               '建立本串接收結束標志,通知可繼續發送等
               ......
            End If
        End If
End Select

End Sub


992
ppboy
文章數:13
年度積分:50
歷史總積分:992
注冊時間:2003/6/24
發站內信
發表于:2003/7/15 16:02:00
#4樓
多謝了
現在的問題是把從單片機的16進制 在text中顯示出來
比如
單片機發送ab16進制字符
能把他在vb上顯示出來
用n = VAl("&H" & String)
是什么意思
vb中往單片機里送的是asc碼
作為控制字
那單片機接受到的是什么呢

1223
Guan_Qing_Xin
文章數:175
年度積分:50
歷史總積分:1223
注冊時間:2002/8/7
發站內信
發表于:2003/7/15 19:30:00
#5樓
搞清楚用ASCII碼表示一個數和用字符串(由"0"-"F"字符組成)表示十六進制數兩種不同概念:
前一種是機器碼,它用一個碼就可表示0-255:  171 = ABh = chr(&HAB)
后一種是用字符串String表示數字,它用兩字符表示0-255: 171 = ABh = Val("&h" & "ab")
字符串的內容被包含在兩引號中.任一字符的的ASCII碼可用Asc()函數返回,如:
n = Asc(Mid("1234AB",5,1)   返回 字串中第5個字符"A"的ASCII碼值: n = 41h = 65
不知你的單片機用的是那種?
992
ppboy
文章數:13
年度積分:50
歷史總積分:992
注冊時間:2003/6/24
發站內信
發表于:2003/7/16 11:58:00
#6樓
多謝指教
請問
往單片機送命令ff時
用output命令時
單片機能收到的是什么呢
是16進制的 ff 嗎


[此貼子已經被作者于2003-7-16 12:01:35編輯過]
992
ppboy
文章數:13
年度積分:50
歷史總積分:992
注冊時間:2003/6/24
發站內信
發表于:2003/7/16 12:07:00
#7樓
我用的是2051單片機
我不想把16進制的 ab轉換為171
我只想被他在text中顯示出ab
是不是我要把單字節變成雙字節才能顯示出來
1223
Guan_Qing_Xin
文章數:175
年度積分:50
歷史總積分:1223
注冊時間:2002/8/7
發站內信
發表于:2003/7/16 15:12:00
#8樓
機器碼顧名思義只在機器運算中使用,查ASCII字符表時,你能在字符中理解它所代表的全部碼值嗎,有的碼值根本就不能顯示和打印,如chr(0),chr(32),chr(255).....在文本框顯示的都是空格,無法分辨,這就是為什么要用兩個十六進制字符來表示一個字節的值的原因了。
要將某一個字節的碼值以兩個十六進制字符表示出來(設Char是待轉換的字節):
Text2.text = Right("0" &  Hex(Asc(Char)), 2)
轉換流程為:查十進制碼值 -> 十六進制轉換 -> 雙字符定位。
式中用Right()函數是為了保證少于16的碼值也用兩個字符表示,如:“00”,“0A”....等。
1223
Guan_Qing_Xin
文章數:175
年度積分:50
歷史總積分:1223
注冊時間:2002/8/7
發站內信
發表于:2003/7/16 15:23:00
#9樓
to ppboy:
一個學習方法:用一個十六進制文件編輯器如UltraEdit-32,新建一個文件并用它編輯,學習領會一下。祝你成功!

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 非法和不良信息舉報

工控網客服熱線:0755-86369299
版權所有 工控網 Copyright©2025 Gkong.com, All Rights Reserved

46.8003
主站蜘蛛池模板: 亚洲免费在线看 | 黄大片 | 国产成人在线电影 | 欧美日韩国产中文 | 精品国产麻豆 | 国产一区二区三区在线看 | 国产精品嫩草影视久久久 | 国产大片在线观看 | 精品久久久久久久久久中出 | 亚洲1234区 | 亚洲免费三区 | 亚洲综合在线视频 | 麻豆传媒在线观看 | 99综合 | 亚洲欧美日韩高清 | 国产精品久久久久久久久免费看 | 国产成人精品一区二区在线 | 青青草这里只有精品 | 国产午夜视频在线观看 | 亚洲激情一区 | 欧美.com | 午夜亚洲一区 | 精品综合久久久久久99粉芽 | 天堂国产| 久久国产精品-国产精品 | 日韩免费一级 | 欧美成人看片黄a免费看 | 亚洲色图 欧美 | 欧美日韩一区视频 | 99热最新网址 | 国产精品69久久久久水密桃 | 成人精品久久 | 国产在线播放av | 日韩一区免费 | 在线一级片 | 久久福利国产 | 日韩一级不卡 | 国内一级毛片 | 国产二区自拍 | 国产精品成人一区二区三区夜夜夜 | 在线a视频网站 |