Serial Port Communications - AT Commands - Send And Receive Data
Apr 12, 2009
I have a USB modem that can detect caller ID and can detect dialled digits when special AT commands activated, How to send and receive data. The sent data will be the AT command such as AT+VCID-1 to activate the caller ID, the received data will be caller ID information and the digits dialed. I'm new to prgramming and using Visual Basic 2008 Express.
I am trying to recieve HEX data from a seriall device. Code is as below . but the required output is not correct. Some chracter code are not correct even in decimal. like for 80 i recieved 3F and for c0 also. for example i recived a string .
10 02 3F 00 10 03 3F 61
but in actual data should be
10 02 80 00 10 03 c0 61
Public Sub DataSeriallReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort.DataReceived Dim buff As String
I need to send data via serial and wait for and answer (VB.NET).Right now i'm doing it this way:SerialPort1.Write(sel & Chr(13))Thread.Sleep(50)aaa = SerialPort1.ReadExisting()If i do not thread.sleep, i get nothing, i supose it's because the machine is too fast.
I have created a program to send and receive data from a serial port, some of the data needs to be stored in certain strings for a export to excel. However the data takes while to to send be sent back. So in order to get the right information in the right strings I have to put pauses in my code. I have added a timer to my form:
On my timer's tick event I have the following code:
Public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick iTick = iTick + 1 End Sub
I'm trying to receive data from the serial port and display onto a text box in my gui in vb. I'm using xp pro sp2 and vb 2008 exp.What i've done so far:
- I'm able to send data successfully (tested) to the serial port - I can dispaly what data is being sent (tested)
Steps taken:
- I have looked around on this forum for something similar to what I have but no similar posts are here - Will look into MSDN help shortly - Will also try some vb books I have lying around. But the problem is most of the vb books deal with sql server and database stuff and not really interfacing to hardware.
I have quite a bit of VB6 experience but now am trying to create my first VB.Net project. The project is very simple - it just needs to send 8-10 character strings from the PC serial port. The problem I'm seeing is that VB.Net is always sending out a 0x0A character after each 'WriteLine' call. Using VB6 it was necessary to manually send out any End Of Line characters. My application requires that no extra EOL characters be sent after the string.
I am trying to recieve HEX data from a seriall device. Code is as below . but the required output is not correct. Some chracter code are not correct even in decimal . like for 80 i recieved 3F and for c0 also.for example i recived a string .
10 02 3F 00 10 03 3F 61 but in actual data should be 10 02 80 00 10 03 c0 61
I use ReceiveSerialData() function to get a string (20 byte of 8 bit data) from serial portBut I faild and got the error "operation has timeout". I am new in VB 2010
I am working on my project "PREPAID RESTAURANT CARD USING RFID TECHNOLOGY" in which i sent 12 digit number (rfid tag id) to serial port through my hardware and receive at my vb.net 2008 page.but i don't know how to receive data in vb page in the textbox using which cammand.
I am doing a project on sending and receiving sms from a serial port. But I have a problem on receiving sms. About the receiving sms, how can i show the received sms in the textbox using the serial port. Do I have to use the DataReceived Events. Here is the code i am using:
Public Class Form1 Private WithEvents serialPort As New SerialPort Private ReadThread As Thread[code]....
I am having problem receiving data from serial port. Btw, I am new to Visual studio 2010 too.
I do a test program on my PIC so that when button1 press, it will send character "Y" to visual studio; when button2 press, it will send character "N" to visual studio. I know for VS 2010, sending data out is by the command
I am writing a VB based program which will receive data from a Micrcontroller (programmed in C) via UART. The data that is transmitted from the Microntroller can be displayed on Hyperterminal when I set it up with the correct settings (Baud, Parity etc), so I know that Microcontroller end is working fine. The VB-based program however (written in Visual Studio 2010 Express), does not however receive any data and I always get the TimeOut exception (despite the fact that Microcontroller is sending data via UART, I have an onboard LED to indicate this). Here is the VB code, it is an adapted version from the MSDN library:
I am working on a project to receive and send data to a micro controller using a Visual Basic application. I am using Visual Studio 2008. I have done coding to send data on button click event.
But I am stuck at how to receive incoming data to serial port continually from MCU and store it to an integer or string type data in VB.
I have an application that receives incoming data from a Radio Equipment through a hardware modem. How can I replace the hardware modem? Could I use the PC Sound Card in place of the modem?
I am wondering is there any code to get the text reply from the modem? I am using the itegno W3800 modem. I have used the below method so far but apparently VB.NET windows form doesnt see the incoming data. The message box comes out empty. But when i try the same method with the TMAS Siemens GSM modem, VB.NET can see the incoming data and display out the data string.
here is the code that i have written:
serialPort.Write("AT" & vbCrLf) 'set command message format to text mode(1) receiveddata = serialPort.ReadExisting() it works for the TMAS gsm modem.
The baud rate for the TMAS GSM modem is 9600 and the baud rate for the itegno modem is 115200.
For the itegno modem, the data is sort of like stuck at the serial port as after every time i pressed on the button for example "AT"
this "AT" command gets "stuck" at the serialport and run only when i have connected through the serial port in hyper terminal.
I am thinking is it the baud rate for 115200 is too fast for VB to handle? And also is there any way to solve this problem?
i have to revert back to the itegno modem for use for my project at the end of the day.
I have created a Client that can send and receive data via TCP sockets. The objects stored on the serverside are the *exact* same object used for the client. They use the same send and receive protocols.
Now, when i send a string from the server to the client , it does precisely what it should do. However when I send a string to the server.... I do receive the string as an equal length of NULL characters. I run the server and client locally.
Basicly what can influence the behaviour between two completely identical objects performing the exact same task? I wonder if there is some socketflag issue if the TCPlistener.accept function returns a completely different setup then the one I R used to.
(if it is of any interest, the send protocol is asynchronious)
i knew Serial ports are a type of computer interface that complies with the RS-232 standard. They are 9-pin connectors that relay information, incoming or outgoing, one byte at a time. Each byte is broken up into a series of eight bits, hence the term serial port.And I want to write a program chatting through Serial Port.
I am supposed to make a software for data logging via serial port but the hardware is expected to be delayed and iam required to continue with the programming of the software. What i need is that by some mechanism i want to send data on serial port (COM port) and after delay of some mili seconds i want to detect that data. I actually want to do this because i want to create environment like my software i intercepting COM port and on receiving data it captures the data values on port and record them to database. I have done most the work, the only thing left which i want is as above how i will send data on COM port (this was to actually to be done by hardware) and detect it in my program (same program from which data was sent). Please guide from where should i start.
I am currently sending data via a serial port to an AVR microcontroller. I've tried searching the forums here first but haven't found any posts that specifically deal with what I'm trying to do. Here's some additional information that might help before proceeding:
I currently have it setup so I enter hex data in Sendbox, click the button, it sends the data to the AVR micro via the serial port, which gets repeated back through the serial port and receives the hex data in the ReceiveBox. I want to be able to setup something similar so I am able to input data into a textbox as binary and have it sent to the AVR that way.
I realize it will send the same data whether I enter it in hex or binary form. I just want the option of being able to send it in either form.
Below is my code.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SendButton.Click SerialPort1.Open()
For many years, I have sent data between 2 computers using serial ports."Here is the data", "Thank you for that data!" type stuff.Where do I get more information for doing the same thing with 2 computers that are networked together? Assume a local ethernet connection.I have experimented with serial-ethernet modems and that works well but I don't want any more hardware.Is there a good thread here I should read?I want 2 VB programs running and I want to exchange data periodically.
I am trying to listen to the COM3 port and display the output in the TextBox. If I understood correctly I will have to implement this by using eventhandlers, delegates. I tried following these articles:
[URL]
And this is the code I came up with... Unfortunately it doesn't display anything. App just starts display "True" and no data is being displayed. I am monitoring Arduino platform which I know is sending data constantly.
Code: Imports System.IO.Ports Imports System.Text Public Class ArduinoSerial
[code].....
I am really new into the vb.net. I am sure there are some horrible mistakes with this code but I am kind of stuck for the past 2 days on this one.
i am using serial communication to read from a plc.The plc will send a string :&H3A as a header byte then C(which is a variable that contains data)I want to read and mask out the header byte.I use the following code but cannot read anything.
Private Sub btnread_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnread.Click Msg = SerialPort1.ReadExisting count = Val(Mid(Msg, 1, 2)) Lblno.Text = count
Im having problem with the Serial Port. When i run my program, "Access to the port 'COM1' is denied". What does that mean? Im not sure whats happening because theres no error in my code. Someone suggest me to use 'COM2'. Which is also the same result. I have a microcontroller, programmed and run it. And i need to capture the data onto my vb, which is on a multiline textbox. How to i do that?Just to double check my code?
I need to communicate with a PLC in serial port. PLC sends 4 possible data: 0, 1, 2 or 3 (which are status).My vb.net program uses IO.Ports.SerialPort class. When I read the data, the "1" and "2" are good, but the "0" and "3" are received as "?". I tried all the Read method (ReadByte, ReadExisting, Read, etc), it always give the same result. In HyperTerminal, it's fine.I made a test program in another computer (Win 7). Test was perfect, I received all 4 status correctly. I ran the same test program on the original computer (Win XP) and once again, I got the "1" et the "2" but the "0" and the "3" was "?" (ascii 63).
I am trying to transmit the integer value 360 to serial port. but at micro controller i am getting the 3 bytes (33 36 30) its ASCII Values.So is there any way to transmit the 360's hex value 168 using two bytes only like 01 68 only?