desktop

Curso de programación de PIC en PICBasic Pro

Yo creo que Step by step..

Al cerrar visual y cuando lo abramos denuevo leer primero la imformacion que esta en el pic osea las salidas y se muestre en la interfaz grafica y no resetea nada a noser que se modifique manualmente desde la intefaz.


estas utilizando el timer a 1ms para enviar los datos... eso te va a crear conflictos graves... quita ese timer... y lo que debes hacer es que cada que cambies algo o pierda el foco del objeto hagas el envio del dato al puerto...

digamos como utilizas el text utiliza el evento change o de preferencia el lostfocus ahi desecadenas la rutina que esta en timer...

en pocas palabras hazlo pero sin usar el timer... y lo vemos... :D
 
hayyyyyyyy bueno lo que pasa que como les dige nose mucho de visual es casi menos que poco lo que se pense que al cerrar el programa y al volver abrir el programa comenzaba todas las salidas en cero y eso era lo que envia al pic por eso hace todos cero en en las salidas del pic bueno lo que pense esque la interfaz despues de cerrarce al volverla sea capaz de leer las salidas del pic y mostrarla y haci podemos cerrar y abrir sin modificar las salidas en pleno trabajo a noser que la habras y modifiquemos algo.........bueno lamentablemente no se mucho de visual
 
Última edición:
bueno lamentablemente no se mucho de visual

Mmm.. por eso... yo tampoco se mucho pero algunas cosas si las he echo...

intentalo... y ahorita lo platicamos... no uses el timer.... lo estoy revizando mas a fondo y lo que te suguiero que utilices es el evento click del objeto image...
 
Checa esto...
(Todo lo puse en una sola carpeta)

Lo puse en una matriz de Objetos para ahorrar codigo... bue... analiza y comentamos...
pongo el codigo de VB aqui...

Código:
Option Explicit
Dim DatoSalida As String, B(8) As Integer

Private Sub Form_Load()
 MSComm1.PortOpen = True
 Text2.Text = "En Obras"
End Sub
Private Sub Form_Unload(Cancel As Integer)
    If MSComm1.PortOpen = True Then
        MSComm1.PortOpen = False
    End If
End Sub
Private Sub Image1_Click(Index As Integer)
    Dim I As Integer
    If B(Index) Then
        B(Index) = 0
        Shape1(Index).FillColor = &H40&
    Else
        B(Index) = 1
        Shape1(Index).FillColor = &HFF&
    End If
    DatoSalida = ""
    For I = 0 To 7
     DatoSalida = DatoSalida & B(I)
    Next I
    Text1.Text = DatoSalida
    DatoSalida = Chr$(BinADec(Val(DatoSalida)))
    MSComm1.Output = DatoSalida
End Sub
 
Public Function BinADec(Valbin As String) As Integer
Dim ValAn As Integer
Dim PosBin As Integer
ValAn = 0
PosBin = 1
Do
   If PosBin = (Len(Valbin) + 1) Then Exit Do
   If Right(Left(Valbin, PosBin), 1) = "1" Then
      ValAn = (ValAn + 0.5) * 2
   Else
      ValAn = ValAn * 2
   End If
   PosBin = PosBin + 1
Loop
BinADec = ValAn
End Function
Public Function DecABin(ValDec As Integer) As String
Dim Valdec2 As String
Dim Valdec1 As Integer
Dim res As Integer
Dim Bin As String
Valdec1 = ValDec
    Do
        If Valdec1 = 0 Then
            Exit Do
        End If
        res = Valdec1 Mod 2
        Bin = res
        Valdec2 = Bin + Valdec2
        Valdec1 = Int(Valdec1 / 2)
    Loop
If Len(Valdec2) < 9 Then Valdec2 = String$((8 - Len(Valdec2)), "0") + Valdec2
DecABin = Valdec2
End Function

y se me olvido quitar el objeto timer :LOL: pero no lo estoy usando... :D
 

Adjuntos

  • Web On Ware Serial.rar
    75 KB · Visitas: 107
Última edición:
bueno me voy engo clases a las 8 aqui en peru son las 7 voy haber lo que pusiste.......mi hermano gracias por todo si sulcionas lo subes haci a alguien tambien le servira de eso estoy seguro gracias espero m ayudes voy a tener que llevar un curso de visual jejejejej....estoy preocupado ya que lo presento el sabado......espero me ayuden....gracias lubeck
 
bueno devuelta aqui ...lubeck vi el archivo bueno es elgo parecido a lo que se quiere conseguir lo que aun no se puede es que el abrir la interfaz lea las salidas del pic osea:

si tenemos D0,D2;D5 encendidos al cerrar la interfaz y al abrirla denuevo lea estos valores y lo muestre haci que si quiero prender D3 por ejemplo solo haga eso y lo demas quede como estubo no resetee todo denuevo.......

adjunto el archivo original: interfaz comunicacion

adjunto el archivo modificado por lubeck: Web On Ware Serial

lamentablemente no se visual por eso invoco al que me pueda ayudar espero puedan ayudarme gracias a lubeck por el interez ........
 

Adjuntos

  • interfaz comunicacion.rar
    74.9 KB · Visitas: 116
  • Web On Ware Serial.rar
    75 KB · Visitas: 97
Lo que yo no alcanzo a entender es como los maestros piden cosas sin enseñar a hacerlas....

me cai que asi... hasta yo soy un p*t* maestro de esos....

P.D. Me dices que calificacion obtuve!! :D
Mira este...
 

Adjuntos

  • Web On Ware Serial.rar
    81.6 KB · Visitas: 82
Última edición:
Checa esto...
(Todo lo puse en una sola carpeta)

Lo puse en una matriz de Objetos para ahorrar codigo... bue... analiza y comentamos...
pongo el codigo de VB aqui...

Código:
Option Explicit
Dim DatoSalida As String, B(8) As Integer

Private Sub Form_Load()
 MSComm1.PortOpen = True
 Text2.Text = "En Obras"
End Sub
Private Sub Form_Unload(Cancel As Integer)
    If MSComm1.PortOpen = True Then
        MSComm1.PortOpen = False
    End If
End Sub
Private Sub Image1_Click(Index As Integer)
    Dim I As Integer
    If B(Index) Then
        B(Index) = 0
        Shape1(Index).FillColor = &H40&
    Else
        B(Index) = 1
        Shape1(Index).FillColor = &HFF&
    End If
    DatoSalida = ""
    For I = 0 To 7
     DatoSalida = DatoSalida & B(I)
    Next I
    Text1.Text = DatoSalida
    DatoSalida = Chr$(BinADec(Val(DatoSalida)))
    MSComm1.Output = DatoSalida
End Sub
 
Public Function BinADec(Valbin As String) As Integer
Dim ValAn As Integer
Dim PosBin As Integer
ValAn = 0
PosBin = 1
Do
   If PosBin = (Len(Valbin) + 1) Then Exit Do
   If Right(Left(Valbin, PosBin), 1) = "1" Then
      ValAn = (ValAn + 0.5) * 2
   Else
      ValAn = ValAn * 2
   End If
   PosBin = PosBin + 1
Loop
BinADec = ValAn
End Function
Public Function DecABin(ValDec As Integer) As String
Dim Valdec2 As String
Dim Valdec1 As Integer
Dim res As Integer
Dim Bin As String
Valdec1 = ValDec
    Do
        If Valdec1 = 0 Then
            Exit Do
        End If
        res = Valdec1 Mod 2
        Bin = res
        Valdec2 = Bin + Valdec2
        Valdec1 = Int(Valdec1 / 2)
    Loop
If Len(Valdec2) < 9 Then Valdec2 = String$((8 - Len(Valdec2)), "0") + Valdec2
DecABin = Valdec2
End Function

y se me olvido quitar el objeto timer :LOL: pero no lo estoy usando... :D

Lubeck por favor necesito una ayuda tuya ya que te he visto manejar los temas de VB6, sabes encontre un programa en internet que detecta colores con una camara web, la cuestion es que yo le agregue un archivo wav que avisa con una voz cuando se a detectado el color, pero tengo un grandisimo problema y es que mientras se detecta el color el archivo wav se queda pegado osea no finaliza su reproduccion normalmente, que puedo hacer en ese caso, que me sugeririas, ya use el comando SLEEP y lo que hace es colgar el programa :confused: sin mas que decir aqui te dejo el archivo para que lo chequees, en el modulo bas llamado MatrizImagen esta un parte que dice:

'+++++++++++++++++++detecta el color rojo+++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

If (Rojo - Tolerancia > Azul) And (Rojo - Tolerancia > Verde) Then

PlaySound App.Path & "\SOUNDS.wav" 'Aqui el comando que reproduce el sonido

n = n + 1
Rojo = 0
Verde = 200
Azul = 0
posX = posX + (ContadorX / 3 - 2) '+ posX
posY = posY + (234 - ContadorY) '+ posY

End If


https://www.forosdeelectronica.com/posts/500115/
 
Mmm.. el commando playsound no es de VisualBasic... casi seguro es una Api , una vez que se ejecuta una API para controlarla tiene que ser de la API misma por lo que ningun comando de VB lo controlaria...
ya es un poco tarde por aca... si ves este post... mañana lo descargo y lo revizamos... a ver que podemos hacer...

saludos...
 
Mmm.. el commando playsound no es de VisualBasic... casi seguro es una Api , una vez que se ejecuta una API para controlarla tiene que ser de la API misma por lo que ningun comando de VB lo controlaria...
ya es un poco tarde por aca... si ves este post... mañana lo descargo y lo revizamos... a ver que podemos hacer...

saludos...

Ok te lo agradeceria mucho, yo nose mucho de VB6 :D bueno lubeck espero tu ayuda y gracias.
 
Hola Nano...

Efectivamente es una API de Windows... la cual se llama desde esta instruccion

Código:
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
    (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

lo estoy revizando pero a mi ejecuta el sonido y tarda mucho para activarse de nuevo... estoy analizandolo mas detalladamente...

A ver mira....

si te entiendo bien... creo la solucion seria utilizar una bandera para despues ejectuar la Api...

mas o menos a si....
(en azul los cambios)
Código:
Public Sub DetectaColores(Pic As PictureBox, Color As Long, Intensidad As Integer)
Dim BytesPerLine As Long
Dim WinDC As Long
Dim TmpDC As Long
Dim dl As Long
Dim mBmp As Long
Dim AntBmp As Long
Dim Addrs As Long
Dim ContadorX As Long
Dim ContadorY As Long
Dim lpBits() As Byte
Dim mSizeImage As Long
Dim Rojo As Long, Verde As Long, Azul As Long, Gris As Long
Dim M_BitmapInfo As BITMAPINFO24
Dim SA As SAFEARRAY2D
Dim posX, posY, n As Long
Dim postX, postY As String
Dim repeat As Long
Dim repetir As Integer
Dim Matris, Tolerancia
[B][COLOR=blue]Dim colorD As Boolean[/COLOR][/B]
[B][COLOR=blue]colorD = False[/COLOR][/B]
Tolerancia = Form1.HScroll1.Value
'Screen.MousePointer = 11
GetRGB Color, R, G, B
Pic = Pic 'solo para refrescar a la imagen original
Pic.ScaleMode = 3
Pic.AutoRedraw = True
BytesPerLine = ScanAlign(Pic.ScaleWidth * 3)
mSizeImage = BytesPerLine * Pic.ScaleHeight
With M_BitmapInfo.bmiHeader
.biSize = Len(M_BitmapInfo.bmiHeader)
.biWidth = Pic.ScaleWidth
.biHeight = Pic.ScaleHeight
.biPlanes = 1
.biBitCount = 24
.biCompression = BI_RGB
.biSizeImage = mSizeImage
End With
WinDC = GetDC(0)
TmpDC = CreateCompatibleDC(WinDC)
mBmp = CreateDIBSection(WinDC, M_BitmapInfo, DIB_RGB_COLORS, Addrs, 0, 0)
dl = ReleaseDC(0, WinDC)
With SA
.cbElements = 1
.cDims = 2
.Bounds(0).lLbound = 0
.Bounds(0).cElements = Pic.ScaleHeight
.Bounds(1).lLbound = 0
.Bounds(1).cElements = BytesPerLine
.pvData = Addrs
End With
CopyMemory ByVal VarPtrArray(lpBits), VarPtr(SA), 4
AntBmp = SelectObject(TmpDC, mBmp)
dl = BitBlt(TmpDC, 0, 0, Pic.ScaleWidth, Pic.ScaleHeight, Pic.hDC, 0, 0, SRCCOPY)
For ContadorY = 0 To Pic.ScaleHeight - 1
For ContadorX = 0 To (Pic.ScaleWidth * 3) - 1 Step 3
Rojo = lpBits(ContadorX + 2, ContadorY)
Verde = lpBits(ContadorX + 1, ContadorY)
Azul = lpBits(ContadorX, ContadorY)
'++++++++++++++++++++++detecta el color rojo+++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If (Rojo - Tolerancia > Azul) And (Rojo - Tolerancia > Verde) Then
n = n + 1
Rojo = 0
Verde = 200
Azul = 0
posX = posX + (ContadorX / 3 - 2) '+ posX
posY = posY + (234 - ContadorY) '+ posY
[B][COLOR=blue]colorD = True[/COLOR][/B]
 
End If
'Form1.Text4 = Form1.Text4 & "(" & Rojo & "," & Verde & "," & Azul & ")" & "  "
'++++++++++++++++mezcla los colores del pixelll++++++++++++++++++++++++++++++++++
lpBits(ContadorX, ContadorY) = Azul '- Rojo / Intensidad + B / Intensidad
lpBits(ContadorX + 1, ContadorY) = Verde ' - Verde / Intensidad + G / Intensidad
lpBits(ContadorX + 2, ContadorY) = Rojo   '- Azul / Intensidad + R / Intensidad
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Next ContadorX
Next ContadorY
CopyMemory ByVal VarPtrArray(lpBits), 0&, 4
dl = BitBlt(Pic.hDC, 0, 0, Pic.ScaleWidth, Pic.ScaleHeight, TmpDC, 0, 0, SRCCOPY)
dl = SelectObject(TmpDC, AntBmp)
dl = DeleteObject(mBmp)
dl = DeleteDC(TmpDC)
 
[B][COLOR=blue]If colorD Then PlaySound App.Path & "\SOUNDS.wav"[/COLOR][/B]
 
'Form1.Text4.Text = Matris
'Screen.MousePointer = 0
'+++++++++++++++++dibujo el circulo sobre el color rojo derectado y promedio+++++++
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
On Error Resume Next
Form1.Text1.Text = CLng(posX / n)
Form1.Text2.Text = CLng(posY / n)
Form1.Text3.Text = n
With Form1.Picture2
Form1.Picture2.FillStyle = 7
Form1.Picture2.FillColor = RGB(0, 189, 0) 'verde
Form1.Picture2.Circle (posX / n, posY / n), _
                 30, _
                 vbRed
End With
Pic.Refresh
End Sub

comenta si entendi bien el problema....
 
Última edición:
Hola Nano...

Efectivamente es una API de Windows... la cual se llama desde esta instruccion

Código:
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
    (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

lo estoy revizando pero a mi ejecuta el sonido y tarda mucho para activarse de nuevo... estoy analizandolo mas detalladamente...

A ver mira....

si te entiendo bien... creo la solucion seria utilizar una bandera para despues ejectuar la Api...

mas o menos a si....
(en azul los cambios)
Código:
Public Sub DetectaColores(Pic As PictureBox, Color As Long, Intensidad As Integer)
Dim BytesPerLine As Long
Dim WinDC As Long
Dim TmpDC As Long
Dim dl As Long
Dim mBmp As Long
Dim AntBmp As Long
Dim Addrs As Long
Dim ContadorX As Long
Dim ContadorY As Long
Dim lpBits() As Byte
Dim mSizeImage As Long
Dim Rojo As Long, Verde As Long, Azul As Long, Gris As Long
Dim M_BitmapInfo As BITMAPINFO24
Dim SA As SAFEARRAY2D
Dim posX, posY, n As Long
Dim postX, postY As String
Dim repeat As Long
Dim repetir As Integer
Dim Matris, Tolerancia
[B][COLOR=blue]Dim colorD As Boolean[/COLOR][/B]
[B][COLOR=blue]colorD = False[/COLOR][/B]
Tolerancia = Form1.HScroll1.Value
'Screen.MousePointer = 11
GetRGB Color, R, G, B
Pic = Pic 'solo para refrescar a la imagen original
Pic.ScaleMode = 3
Pic.AutoRedraw = True
BytesPerLine = ScanAlign(Pic.ScaleWidth * 3)
mSizeImage = BytesPerLine * Pic.ScaleHeight
With M_BitmapInfo.bmiHeader
.biSize = Len(M_BitmapInfo.bmiHeader)
.biWidth = Pic.ScaleWidth
.biHeight = Pic.ScaleHeight
.biPlanes = 1
.biBitCount = 24
.biCompression = BI_RGB
.biSizeImage = mSizeImage
End With
WinDC = GetDC(0)
TmpDC = CreateCompatibleDC(WinDC)
mBmp = CreateDIBSection(WinDC, M_BitmapInfo, DIB_RGB_COLORS, Addrs, 0, 0)
dl = ReleaseDC(0, WinDC)
With SA
.cbElements = 1
.cDims = 2
.Bounds(0).lLbound = 0
.Bounds(0).cElements = Pic.ScaleHeight
.Bounds(1).lLbound = 0
.Bounds(1).cElements = BytesPerLine
.pvData = Addrs
End With
CopyMemory ByVal VarPtrArray(lpBits), VarPtr(SA), 4
AntBmp = SelectObject(TmpDC, mBmp)
dl = BitBlt(TmpDC, 0, 0, Pic.ScaleWidth, Pic.ScaleHeight, Pic.hDC, 0, 0, SRCCOPY)
For ContadorY = 0 To Pic.ScaleHeight - 1
For ContadorX = 0 To (Pic.ScaleWidth * 3) - 1 Step 3
Rojo = lpBits(ContadorX + 2, ContadorY)
Verde = lpBits(ContadorX + 1, ContadorY)
Azul = lpBits(ContadorX, ContadorY)
'++++++++++++++++++++++detecta el color rojo+++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If (Rojo - Tolerancia > Azul) And (Rojo - Tolerancia > Verde) Then
n = n + 1
Rojo = 0
Verde = 200
Azul = 0
posX = posX + (ContadorX / 3 - 2) '+ posX
posY = posY + (234 - ContadorY) '+ posY
[B][COLOR=blue]colorD = True[/COLOR][/B]
 
End If
'Form1.Text4 = Form1.Text4 & "(" & Rojo & "," & Verde & "," & Azul & ")" & "  "
'++++++++++++++++mezcla los colores del pixelll++++++++++++++++++++++++++++++++++
lpBits(ContadorX, ContadorY) = Azul '- Rojo / Intensidad + B / Intensidad
lpBits(ContadorX + 1, ContadorY) = Verde ' - Verde / Intensidad + G / Intensidad
lpBits(ContadorX + 2, ContadorY) = Rojo   '- Azul / Intensidad + R / Intensidad
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Next ContadorX
Next ContadorY
CopyMemory ByVal VarPtrArray(lpBits), 0&, 4
dl = BitBlt(Pic.hDC, 0, 0, Pic.ScaleWidth, Pic.ScaleHeight, TmpDC, 0, 0, SRCCOPY)
dl = SelectObject(TmpDC, AntBmp)
dl = DeleteObject(mBmp)
dl = DeleteDC(TmpDC)
 
[B][COLOR=blue]If colorD Then PlaySound App.Path & "\SOUNDS.wav"[/COLOR][/B]
 
'Form1.Text4.Text = Matris
'Screen.MousePointer = 0
'+++++++++++++++++dibujo el circulo sobre el color rojo derectado y promedio+++++++
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
On Error Resume Next
Form1.Text1.Text = CLng(posX / n)
Form1.Text2.Text = CLng(posY / n)
Form1.Text3.Text = n
With Form1.Picture2
Form1.Picture2.FillStyle = 7
Form1.Picture2.FillColor = RGB(0, 189, 0) 'verde
Form1.Picture2.Circle (posX / n, posY / n), _
                 30, _
                 vbRed
End With
Pic.Refresh
End Sub

comenta si entendi bien el problema....

Muchas gracias por tomarte la molestia de ayudarme lubeck, pero el problema aun persiste porque lo que deseo es que el api se reproduzca completamente cuando este presente el color, pero no pasa así pues se queda colgado cuando el color rojo esta presente y no termina la reproducción sino hasta que se le quita el color rojo. Ves ese es el detalle.
 
Mm... me parece que no estas en linea....

creo que ahora si te voy entiendo... mira busca esto... ademas del cambio que te mencione antes...
Código:
Private Sub Command5_Click()
Timer1.Interval = [COLOR=darkslateblue][COLOR=red]2000 ' aumenta el tiempo a que de chance de terminar la reproduccion...[/COLOR]
[/COLOR]Timer1.Enabled = True
End Sub

Y no entiendo si quieres que:
1- lo reproduzca indefinidamente mientras este el color,
2- que lo reproduzca una sola vez y hasta nueva deteccion lo reproduzca...

con estos cambios que te sugiero hace la primera opcion...

Listo... si lo que buscas es la segunda opcion prueba este anexo (con auto-aceleracion de deteccion :LOL:) y me comentas......
...
 

Adjuntos

  • Detectar Color Rojo VB6.rar
    68.2 KB · Visitas: 131
Última edición:
Mm... me parece que no estas en linea....

creo que ahora si te voy entiendo... mira busca esto... ademas del cambio que te mencione antes...
Código:
Private Sub Command5_Click()
Timer1.Interval = [COLOR=darkslateblue][COLOR=red]2000 ' aumenta el tiempo a que de chance de terminar la reproduccion...[/COLOR]
[/COLOR]Timer1.Enabled = True
End Sub

Y no entiendo si quieres que:
1- lo reproduzca indefinidamente mientras este el color,
2- que lo reproduzca una sola vez y hasta nueva deteccion lo reproduzca...

con estos cambios que te sugiero hace la primera opcion...

Muchas gracias lubeck por tu ayuda, le aumente el interval a 2000 y ahi si reproduce por completo el archivo wav, gracias sos un genio :D:D:aplauso:
 
Pues yo creo que investigues primero un poco... lee los primeros post de este tema... y si te surguen dudas plantealas aqui e intentare(mos) responderte...

esta bien pero le hago una pregunta yo estuve mamipulando un programa llamado mplab y no entiwndo lagunas cosas por ejemplo los comandos que tienes no se suponen que tienen que ir en hex, bueno digo yo


saludos:apreton:
 
yo estuve mamipulando un programa llamado mplab

Ok... El Mlab es un programa para un lenguaje llamado ensamblador....

el tema o lenguaje que estamos viendo aqui es PicBasic no se cual sea la ultima version yo tengo la 2.46 y puedes usar un editor llamado microstudio yo tengo la version 3.0.

lo que hacen estos programas es que es un lenguaje que al compilarlo lo traduces a ensamblador y despues se genera el archivo Hex que es el que se graba al micro....

el ensamblador para hacer algo muy sencillo tienes que hacer un pograma kilometrico... que en basic con una linea lo pudieras hacer...

conforme vayas aprendiendo te daras cuenta las bondades de uno u otro...
y ademas existe otro muy bueno que es el C y digamos esta intermedio entre estos dos...

se entiende???
 
Última edición:
Ok... El Mlab es un programa para un lenguaje llamado ensamblador....

el tema o lenguaje que estamos viendo aqui es PicBasic no se cual sea la ultima version yo tengo la 2.46 y puedes usar un editor llamado microstudio yo tengo la version 3.0.

lo que hacen estos programas es que es un lenguaje que al compilarlo lo traduces a ensamblador y despues se genera el archivo Hex que es el que se graba al micro....

el ensamblador para hacer algo muy sencillo tienes que hacer un pograma kilometrico... que en basic con una linea lo pudieras hacer...

conforme vayas aprendiendo te daras cuenta las bondades de uno u otro...
y ademas existe otro muy bueno que es el C y digamos esta intermedio entre estos dos...

se entiende???

lo pasa de bonario a hex
 
lo pasa de bonario a hex

Mmmm.. no exactamente... todos los lenguajes trabajan en binario....

Digamos que....

Basic un lenguaje facil de entender y manipular...
Ensamblador Un lenguage de PC
Hex el lenguage de los micros...

entonces tu haces tu progrmama en basic y la pc con su lenguaje ensamblador hace el lenguaje hex del micro-controlador...

igual te lo explico de una manera en que te formes una idea y conforme vayas viendo iras puliendo y formandote una idea mas real...ok.. :D
 
Atrás
Arriba