Interesuje mnie też odbiór danych z procka do PC (formie integer i string) . Jak to zrobić używając SerialPort.Read() ?
Kod atmega:
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- $REGFILE = "M32DEF.DAT"
- $CRYSTAL = 16000000
- $BAUD = 115200
- $HWSTACK = 100
- $SWSTACK = 100
- $FRAMESIZE = 100
- ENABLE INTERRUPTS
- '*********************************************************************************************************************************
- '*** LCD ST7735R *****************************************************************************************************************
- '*********************************************************************************************************************************
- $LIB "GLCD-ST7735R_APRIL.LIB"
- CONFIG GRAPHLCD = COLOR ,CS1 = Portc.3 , SCLK = Portc.4 , SI = Portc.5 , A0 = Portc.6 , RST = Portc.7
- 'CS1=CS=C3 | SCLK=SCL=C.4 | SI=SDA=C.5 | A0=A0=C.6 | RST=RESET=C.7 (CS1 - PODPIAC POD MINUS ZAMIAST PORTC.3)
- CONST PORTRAIT = 0 '1=Portrait, 0=Landscape
- CONST ROTATE_180 = 0 '1=Rotated, 0=Not Rotated
- '---------------------------------------------------------------------------------------------------------------------------------
- CONST BLACK = &B00000000
- CONST WHITE = &B11111111
- INITLCD
- SETFONT COLOR8X8
- 'SETFONT COLOR16X16
- CLS
- BOXFILL(0 , 0) -(160 , 128) , BLACK 'TLO POZIOM
- 'BOXFILL(0 , 0) -(128 , 160) , BLACK 'TLO PION
- '*********************************************************************************************************************************
- '*** UART-COM1 *******************************************************************************************************************
- '*********************************************************************************************************************************
- CONFIG COM1 = 115200 , SYNCHRONE = 0 , PARITY = NONE , STOPBITS = 1 , DATABITS = 8 , CLOCKPOL = 0
- OPEN "COM1:" FOR BINARY AS #1
- CONFIG SERIALIN0 = BUFFERED , SIZE = 10 , BYTEMATCH = 13
- ENABLE URXC
- DIM RS232_1 AS STRING*20
- DIM COM1 AS LONG
- '*********************************************************************************************************************************
- '*** ZMIENNE *********************************************************************************************************************
- '*********************************************************************************************************************************
- CONFIG SINGLE = SCIENTIFIC , DIGITS = 3
- '*********************************************************************************************************************************
- '*** PROGRAM *********************************************************************************************************************
- '*********************************************************************************************************************************
- DIM KLIK AS DWORD
- DO
- LCDAT 10 , 0 , "COM :"; COM1 ;" ", WHITE , BLACK
- LCDAT 20 , 0 , "RS :"; RS232_1 ;" ", WHITE , BLACK
- LCDAT 60 , 0 , KLIK ;" ", WHITE , BLACK
- PRINT #1 , KLIK
- INCR KLIK
- WAITMS 100
- LOOP
- END
- '---------------------------------------------------------------------------------------------------------------------------------
- $INCLUDE "COLOR8x8.FONT"
- '$INCLUDE "COLOR16x16.FONT"
- '---------------------------------------------------------------------------------------------------------------------------------
- SERIAL0CHARMATCH:
- PUSHALL
- INPUT #1, RS232_1 NOECHO
- COM1 = VAL(RS232_1)
- POPALL
- RETURN
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Public Class Form1
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Label1.Text = "ON"
- SerialPort1.Open()
- SerialPort1.Write("ON" & Chr(13)) 'chodzi
- 'SerialPort1.Write(Str(licz) & Chr(13))
- SerialPort1.Close()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Label1.Text = "OFF"
- SerialPort1.Open()
- SerialPort1.Write("OFF" & Chr(13)) 'chodzi
- 'SerialPort1.Write(Str(licz) & Chr(13))
- SerialPort1.Close()
- End Sub
- Private Sub SerialPort1_ErrorReceived(sender As Object, e As IO.Ports.SerialErrorReceivedEventArgs) Handles SerialPort1.ErrorReceived
- Dim comBuffer As String
- comBuffer = SerialPort1.ReadLine()
- Label2.Text = (comBuffer)
- End Sub
- End Class
