Serial Port Complete - Latest Microcontroller projects

(lily) #1

Chapter 10


To reduce the number of resizing operations needed as elements are added to
the list, you can specify an initial capacity when creating the list object:

 Friend portBuffer As New List(Of Byte)(1024)


 internal List portBuffer = new List(1024);


The code below appends received bytes to the end of a list and calls a routine to
process the data. The code can execute in a DataReceived event or Timer event:

 Dim numberOfBytesToRead As Integer


' Get the number of bytes available to read.

numberOfBytesToRead = myComPort.BytesToRead

' Create a byte array large enough to hold the bytes to be read.

Dim newReceivedData(numberOfBytesToRead - 1) As Byte

' Read the bytes into the byte array.

myComPort.Read(newReceivedData, 0, numberOfBytesToRead)

' Add the bytes to the end of the list.

portBuffer.AddRange(newReceivedData)

' Call a routine to process the data.

ProcessData()
Free download pdf