999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

您現(xiàn)在所在的是:

單片機論壇

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

我應(yīng)該把inputmode 設(shè)置成text還是binary
比如
 buf= mscomm1.input

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

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



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

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

那如何在vb中能顯示
aa11ab33445566bb
我設(shè)置
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

現(xiàn)在我把rxd和txd短結(jié)
用output命令發(fā)送
為什么在text2中顯示不出來
text2.text=buf1
1223
Guan_Qing_Xin
文章數(shù):175
年度積分:50
歷史總積分:1223
注冊時間:2002/8/7
發(fā)站內(nèi)信
發(fā)表于: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" 是通訊協(xié)議中固定用的的結(jié)束符,則可在收到等它出現(xiàn)時再更新text2.text
        s1 = s1 & s
        If Len(s1) > 2 Then
           Iif Right(s1) = "bb" then
               text2.text = s1
               '建立本串接收結(jié)束標(biāo)志,通知可繼續(xù)發(fā)送等
               ......
            End If
        End If
End Select

End Sub


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

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


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

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 非法和不良信息舉報

工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 工控網(wǎng) Copyright©2025 Gkong.com, All Rights Reserved

62.4004