Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Ya quedó, en VB2008 es parecido que con C#:
Código:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim data(1) As Byte data(0) = Asc(1) SerialPort1.Write(data, 0, 1) Label1.Text = data(0) End Sub
En ese caso estoy transmitiendo un 1 en ASCII, la función Asc() obtiene el código numérico correspondiente al caracter ASCII, siempre es más fácil escribir el símbolo ASCII que escribir un 49
; Programa encargado de leer un sensor
;de temperatura LM35 y enviar la
;informacion a la PC.
LIST P=16F876A
INCLUDE "P16F876A.INC"
#DEFINE BIN 20H
#DEFINE BCDL 2AH
#DEFINE BCDH 2BH
#DEFINE RCBUF 2CH
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _XT_OSC & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF
ORG 0X0000
GOTO INICIO
INICIO MOVLW B'10010000'
MOVWF RCSTA
MOVLW B'11000001'
MOVWF ADCON0
BSF STATUS,RP0
BCF OPTION_REG,NOT_RBPU
MOVLW H'F0'
MOVWF TRISB
BCF TRISC,4
MOVLW B'00100100'
MOVWF TXSTA
MOVLW D'129'
MOVWF SPBRG
MOVLW B'01001111'
MOVWF ADCON1
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB
CLRF PORTC
LOOP BSF ADCON0,GO
L1 BTFSC ADCON0,GO
GOTO L1
BTFSC PIR1,RCIF
CALL RECEPT
MOVF ADRESH,W
MOVWF 20H
CALL L5
MOVF 22H,W
MOVWF TXREG
L2 BTFSS PIR1,TXIF
GOTO L2
MOVF 21H,W
MOVWF TXREG
L3 BTFSS PIR1,TXIF
GOTO L3
MOVLW '-'
MOVWF TXREG
L4 BTFSS PIR1,TXIF
GOTO L4
GOTO LOOP
L5 clrf BCDH
clrf BCDL
BCD_HIGH
movlw .100
subwf BIN,f
btfss STATUS,C
goto SUMA_100
incf BCDH,f
goto BCD_HIGH
SUMA_100
movlw .100
addwf BIN,f
movlw 0x0F
movwf BCDL
BCD_LOW movlw .10
subwf BIN,f
btfss STATUS,C
goto SUMA_10
incf BCDL
movlw 0x0F
iorwf BCDL
goto BCD_LOW
SUMA_10 movlw .10
addwf BIN,f
movlw 0xF0
andwf BCDL,f
movf BIN,w
iorwf BCDL,f
CLRF 22H
CLRF 21H
BTFSC BCDL,0
BSF 21H,0
BTFSC BCDL,1
BSF 21H,1
BTFSC BCDL,2
BSF 21H,2
BTFSC BCDL,3
BSF 21H,3
BSF 21H,4
BSF 21H,5
BTFSC BCDL,4
BSF 22H,0
BTFSC BCDL,5
BSF 22H,1
BTFSC BCDL,6
BSF 22H,2
BTFSC BCDL,7
BSF 22H,3
BSF 22H,4
BSF 22H,5
RETURN
RECEPT MOVF RCREG,W
MOVWF RCBUF
MOVLW 'D'
SUBWF RCBUF,W
BTFSC STATUS,Z
BSF PORTC,0
MOVLW 'S'
SUBWF RCBUF,W
BTFSC STATUS,Z
BCF PORTC,0
RETURN
END
Public Class Form1
Dim aux As Byte
Dim rcbuf As Byte
Dim textout As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "LM35 en PC"
Me.BackColor = Color.Black
Label1.Text = "00"
Label2.Text = "Cº"
Label3.Text = "Power by LM35"
Label1.ForeColor = Color.Blue
Label2.ForeColor = Color.Blue
Label3.ForeColor = Color.White
Label4.ForeColor = Color.White
End Sub
Function ReceiveSerialData() As String
Using com1 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("COM1")
com1.Write("D")
rcbuf = com1.ReadByte
Label4.Text = rcbuf
' If rcbuf = "-" Then
'Label1.Text = textout
'Else
'textout += rcbuf
'End If
If textout > 24 Then
Label1.ForeColor = Color.Red
Else
If textout > 15 Then
Label1.ForeColor = Color.Green
Else
Label1.ForeColor = Color.Blue
End If
End If
Label2.ForeColor = Label1.ForeColor
End Using
End Function
End Class
public class Form1
{
byte aux;
byte rcbuf;
string textout;
private void // ERROR: Handles clauses are not supported in C#
Form1_Load(System.Object sender, System.EventArgs e)
{
this.Text = "LM35 en PC";
this.BackColor = Color.Black;
Label1.Text = "00";
Label2.Text = "Cº";
Label3.Text = "Power by LM35";
Label1.ForeColor = Color.Blue;
Label2.ForeColor = Color.Blue;
Label3.ForeColor = Color.White;
Label4.ForeColor = Color.White;
}
public string ReceiveSerialData()
{
using (IO.Ports.SerialPort com1 = My.Computer.Ports.OpenSerialPort("COM1")) {
com1.Write("D");
rcbuf = com1.ReadByte;
Label4.Text = rcbuf;
// If rcbuf = "-" Then
//Label1.Text = textout
//Else
//textout += rcbuf
//End If
if (textout > 24) {
Label1.ForeColor = Color.Red;
}
else {
if (textout > 15) {
Label1.ForeColor = Color.Green;
}
else {
Label1.ForeColor = Color.Blue;
}
}
Label2.ForeColor = Label1.ForeColor;
}
}
}
[COLOR=Blue]private[/COLOR] [COLOR=Blue]void[/COLOR] button_b_Click([COLOR=Blue]object[/COLOR] sender, EventArgs e)
{
[COLOR=Blue]byte[/COLOR][] mBuffer = [COLOR=Blue]new[/COLOR] [COLOR=Blue]byte[/COLOR][11];
mBuffer[0] = 0x48; [COLOR=Green]//ASCII letra "H".[/COLOR]
mBuffer[0] = 0x6F; [COLOR=Green]//ASCII letra "o".[/COLOR]
mBuffer[0] = 0x6C; [COLOR=Green]//ASCII letra "l".[/COLOR]
mBuffer[0] = 0x61; [COLOR=Green]//ASCII letra "a".[/COLOR]
mBuffer[0] = 0x20; [COLOR=Green]//ASCII letra " ".[/COLOR]
mBuffer[0] = 0x6D; [COLOR=Green]//ASCII letra "m".[/COLOR]
mBuffer[0] = 0x75; [COLOR=Green]//ASCII letra "u".[/COLOR]
mBuffer[0] = 0x6E; [COLOR=Green]//ASCII letra "n".[/COLOR]
mBuffer[0] = 0x64; [COLOR=Green]//ASCII letra "d".[/COLOR]
mBuffer[0] = 0x6F; [COLOR=Green]//ASCII letra "o".[/COLOR]
mBuffer[0] = 0x2E; [COLOR=Green]//ASCII letra ".".[/COLOR]
serialPort1.Write(mBuffer, 0, mBuffer.Length);
}