Timer Tick Event And Serial Port / Read And Display Live Data?
Jun 21, 2009
[code]...
I have a quick question regarding the serial port and timer tick event. Basically i have a micro processor connected to the PC via the serial port. With a baurd rate of 38400 set.When the PC sends the micro ":K + VBCRLF" the micro response with a string of information (ASCII encoded) and delimited with a "," and at the end of the transmission a cartridge return line feed is added.Example of sent string:
"12,1134,123,545,76,6868,34,232,1,2,3,6,7,8" These numbers are then split using the VB mystring.split(",") function into an array of strings, then the numbers are converted using ctype. After which my UI is then updated.I have Witten the code in a tick timer event using a timer count of 300ms. Although the program runs and the UI is updated i end it with lots of exception errors. I think allot of this is down to the serial port either timing out or not reading complete string.Or possibly the timer has not executed all the code before another tick event happens Even after adding a few try catch statements i am still having problems. Can anybody suggest a better way of doing it?I was thinking of using a do while loop and at the end a sleep function instead of the timer tick event.I need the speed as i am trying to read and display live data.
I'm having trouble with parsing an XML data from serial port.Actually I need to parse it automatically after all data is received from serial port.I can display all the data in a richtextbox control and all data is received perfectly but my problem isit seems that serialdata.eof function seems like it's not firing.
here's some of my code:
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'set serial port properties With COMPort .BaudRate = 19200
[code]....
what i need to know is how can i automatically parse the XML data from serial port after all data is received.
im using vb 2008 to read serial port data. my requirement is as follows, when the data is received from the serial port a timer is enabling in order to blink a button saying "tank empty". so i have written the code with the aid of this forums. but now my problem is the blinking button function is not working. first i thought its cuz timer is not enabling inside the serial_dataReceived event. so i invoked a dummy label. so the timer works. but its blinking function is not working.
i am a absolute beginner and i want to use vb to receive data from micro controller through serial port using rs232 standards, i found this code to receive the data serially, can any one tell me where should i paste this code, so that the data received will be displayed in message box.Private Sub DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) HandlesSerialPort1.DataReceived
I'm working on a project involving reading RFID tags, I've written the code and it reads the tags ok by using the recieved data handler and displaying the result in a listbox, the only problem is that the data displayed has a couple of unreadable characters at the start (I'm using ReadLine() command.)If I read the buffer byte by byte the data is all readable.How can I read and display the whole 16 Bytes in one go??
I want to create an array of timer in vb.net. My problem is that how will i raise the tick event for a particular timer, say mytimer(x).tick and inside the tick event there is also a button, say mybutton(x) which changes location every interval. for example:
public class blah dim mybuttons(20) as button dim mytimer(20) as timer private sub form_load(....) handles me.load for x as integer = 0 to 20
[Code]...
i dont know what to do next, all i want is to pass the button mybuttons(x) to mytimer(x) tick event, in which their index number are the same. i want to create one timer per button. how to do that? please help me and post example codes. i've researched the net but i cant understand passing variables, addhandlers, etc. i'm just new to programming object oriented.
I am using a VB.NET(VS2010) to read data from serial port. I have 8-bit data to collect through rs232. This data is represented numbers. What reading method should I use and how to convert it to double format?
I want a text box in my application that will display the data currently coming from the serial port,So if i will send ascii "hello" from another computer on my program it will diaplay "hello".
I am trying to read data from serial com1 port. Now, I am not sure how to send. I found so many method to send but that are not so good and I cann't read any data. I am using VB.net 2005. Which is the best way and how can I read and send?
I have a problem with my program. i can't read any data from serial port. when i click on open the rs232 has to read but it doesn't.i use the program in a pdf(ADAM-4000_Ed-15).[code]
I am new to VB2008 Express, I have been trying to get data from the Serial port, i have tried for days to get it working. I have read lots of articles but most seem to be for Console applications and I am using an Application. All I am trying to do is create a form with a Textbox and this should display the data received from the serial port.
The data i am trying to receive is "ABC" on Com1 Can anyone either send me a project, as I am sure its something to do with how i am configuring it, or if thats not possible, show me in code?
I am trying to make a program in vb 2005 to real all the data from a device connected on Serial Port (Com 1).i did this: [code]and this is how i want to reciveit.when i lounch the program i only receive first line "410001+00000001" and after that i get on the device rs232 error.
Using 2008 VB.Net trying to do serial communications. I have a Scantron scanner I can send data to it, but I can not get read data back sent to my serial port. I have tried ReadLine, ReadByte, etc. but i'm not capturing anything, and I don't understand the DataReceived event. [Code]
I don't know why this is. I am using VB 2008.net and I am trying to receive data on the serial port.
For some reason, the following event is not executing. Here is the
[Code]...
Just simple as of right now for debugging purposes. I have a breakpoint at getMe and it doesn't hit it at all. I know for sure that the serial port should be receiving data as I am using RealTerm to monitor serial port input data before I run my program.
I am trying to write something through serial port to my device. Before that, I added the data received handler to read the data when the device response with some data. The problem now is how can i check the status of the data received event? I need to know when the data received event has started or has ended before I can proceed to do some other task like check if the result is successfully receive.
I ve been reading forums all over the net for 2 weeks and I failed to find solution for my problem. here is my problem;
I am able to receive data from serial port in to richtextbox and its working fine .. what i wanna do is dislay data in textbox by spliting string[code]...
i am trying to write a simple programme to allow the user to open and read data from a RS232 port on a medical equipment and save the data into text file. Iam not a techie. I am totally new to programming save a few projects in foxpro(lol.....yeah oldshool).
I used a timer in my user control now when Timer_Tick event is fired I want to raise an event like Ticked. I created:
public delegate sub myDel() public event myevnt as myDel in Timer.Tick
I used raiseEvent myevnt. I also raised the event from a button click. This event is handled in a windows form where the control is used, My problem is event is firing when the button is clicked but not firing from the timer.tick. Is there any problem from Timer.Tick.
Suppose I have meeting 31/1/2011 9.30 and when current time becomes 31/1/2011 9.30 it displays a message: "You have a meeting". How can I do this with VB.NET?
I am attempting to create a timer that will activate a tick event every 1 second until stopped by an "If" statement. The tick event should then drive a clock measuring time in units of hours, minutes and seconds. The if statements handle the time readout, timer stop and activate another form after a set number of hours have elapsed. I have tried several different methods and while my application is running, it does not add increments to the integers representing the time units, refresh the displayed time units, or perform any of the timer related functions. I assume the cause is that I just don't know as much as I think I do (which isn't much)
Here is the applicable code:
Imports Microsoft.VisualBasic.ApplicationServices Imports System.IO Public Class SessionManager
I an trying to modify a queue within the tick event of a timer. Is this even possible? A sample follows:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim NewQueue As New Queue(Of String) NewQueue.Enqueue("alpha") NewQueue.Enqueue("beta")
[code]....
create a looping display (first "alpha", then "beta", etc.). What's missing? Also, why can I declare the Queue outside of a sub, but I can't fill it there as well (enqueue)?
I'm trying to make my application react the way I want if the internet connection goes down, because the application need a permanent internet connection to work properly. This also includes if the server my program is trying to connect to goes down/stops or something.
What I want is that if a exception occures when trying to connect to the server, i calls a sub wich stops all timers, disables some buttons and comboboxes. At the same time it starts a new timer named "retrytimer". The retrytimer checks every fifth second if the connection is re-established. If it is, it activates all the controls and disables itself.
For some reason, the retrytimer tick-event never occures. I've tried inserted a breakpoint on the first line of the event-sub, but it never hits. If I check the enabled-property of the timer, it is set to "true". Why does this happen?The timer is made in the design window, and it's default enabled-property is set to false.Here is my sub wich deactivates some controls and starts the timer:
vb.net Private Sub connectionLost(ByRef errnr As Integer) connected = False If starttimer.Enabled Then starttimer.Enabled = False If resulttimer.Enabled Then resulttimer.Enabled = False If radioposttimer.Enabled Then radioposttimer.Enabled = False If runningtimer.Enabled Then runningtimer.Enabled = False
[Code]...
But here is the funny part! If I start the application without a internet connection, everything works the way I want. But if I disable the internet connection in the middle of my program, it acts as described. The lasts messagebox in my connectionLost-sub are shown, and the timer is set to enabled = true.
Does anyone have a clue? EDIT: I think I've narrowed down the problem quite a bit.It seems like the timer won't work correctly if the connectionLost-sub is called from within a BackgroundWorker. If it is called from something else than inside a BackgroundWorker, it seems to work the way I want.