TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: nacha4 en 04 de Marzo de 2006, 09:46:00

Título: pasar de ASCII a Binario
Publicado por: nacha4 en 04 de Marzo de 2006, 09:46:00
hola tengo un problema tengo estoy recibiendo 1 BYTE enviado por un PIC por el puerto serie, mi problema es que el byte lo recibe en ascii y yo lo necesito analizar a ese byte en binario hay alguna forma de recibirlo en binario o poder pasarlo de ascii a binario
Título: RE: pasar de ASCII a Binario
Publicado por: atlasdelcarinakeel en 04 de Marzo de 2006, 13:12:00
Que tal, este post te puede ayudar

http://miarroba.com/foros/ver.php?foroid=64652&temaid=3548974&marcar=mscomm
Título: RE: pasar de ASCII a Binario
Publicado por: nacha4 en 04 de Marzo de 2006, 18:14:00
gracias pero lo que me mostraste no me sirve porque trata de de enviar y yo quiero recibir y convertilrlo en binario, aparte no hay ninguncaso de ascii a binario
si sabes como se hace por favor pasamelo
Nacha4
Título: RE: pasar de ASCII a Binario
Publicado por: karen81 en 17 de Marzo de 2006, 16:29:00
Pues no se si insulto tu inteligencia RollEyes (lo digo porque puede ser que esto lo hayas considerado hace mucho) pero en un programa que yo hice me enviaban un byte cada cierto tiempo, yo lo necesitaba en Hexa pero llegaba en ASCII asi que solo ponia las siguientes sentencias:
a = datorecibido en ascii
a = Hex(Asc(a))

asi si recibo "A" me lo pasa a su respectivo valor en hexa 41, no se si es eso lo que necesitasinvasor Vacilando
Título: RE: pasar de ASCII a Binario
Publicado por: BrunoF en 19 de Marzo de 2006, 18:14:00
Hola. modificando y agregando un poco de codigo al algoritmo de karen81 te hice esto...

Codigo:

Private Sub Form_Load()

Dim DatoAscii
Dim DatoBinario As String

DatoAscii = "A"                 "ingresa aca el caracter ASCII a pasar a binario
DatoBinario = Hex2Bin(Left(Hex(Asc(DatoAscii)), 1)) & Hex2Bin(Right(Hex(Asc(DatoAscii)), 1))
MsgBox DatoBinario      "ascii en binario

End Sub


Private Function Hex2Bin(DatoHex As String) As String

Select Case LCase(DatoHex)
        Case "0"
            Hex2Bin = "0000"
        Case "1"
            Hex2Bin = "0001"
        Case "2"
            Hex2Bin = "0010"
        Case "3"
            Hex2Bin = "0011"
        Case "4"
            Hex2Bin = "0100"
        Case "5"
            Hex2Bin = "0101"
        Case "6"
            Hex2Bin = "0110"
        Case "7"
            Hex2Bin = "0111"
        Case "8"
            Hex2Bin = "1000"
        Case "9"
            Hex2Bin = "1001"
        Case "a"
            Hex2Bin = "1010"
        Case "b"
            Hex2Bin = "1011"
        Case "c"
            Hex2Bin = "1100"
        Case "d"
            Hex2Bin = "1101"
        Case "e"
            Hex2Bin = "1110"
        Case "f"
            Hex2Bin = "1111"
        Case Else
            MsgBox "Valor no admitido!"

End Select

End Function




Espero que sea lo que necesitas. Saludos.