Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Regarding the terminal software to send the data frame with 50msec delay

Status
Not open for further replies.

prakashvenugopal

Advanced Member level 1
Advanced Member level 1
Joined
Jun 1, 2011
Messages
473
Helped
15
Reputation
30
Reaction score
15
Trophy points
1,298
Activity points
4,973
Hi all,

I am trying to send the data frame from PC to my controller using RS-232 port.
Frame1 --> #FIRST TEXT$ (50 msec delay)
Frame2 --> #SECOND TEXT$ (50msec delay)
"
"
"
"
"
FRAME16 --> #SIXTEENTH TEXT$(50 msec delay)

# --> START OF FRAME
$ --> END OF FRAME


I have to send the Frame1 to Frame16 in sequence with the 50 msec delay inbetween each frame.
Is there any terminal software to send the frame with 50msec delay. Please let me know. I tried with hyperterminal(send text file option). There is no delay in it ? Please let me know how to do it.?


Thanks,
V. Prakash
 

if you have Visual Studio or one of the express editions you could write a simple program in C++, C#, VB.NET, etc using the SerialPort component to transmit the RS232 data and using the Thread.Sleep method to time the transmissions
https://msdn.microsoft.com/en-us/library/d00bd51t
 

    V

    Points: 2
    Helpful Answer Positive Rating
I got just a solution for you
download small terminal tool that has scripting options
https://www.electronics-base.com/in...related/89-com-port-terminal-development-tool

use scripting options to enter following code

Code:
//******************************
// Terminal Script
// Created: 8/18/2012 6:29:32 PM
//read more on www.electronics-base.com
//******************************
begin
ComSendstr('first line');
Delay(1000);
ComSendstr('second line');
Delay(1000);
ComSendstr('third line');
Delay(1000);
end.

Delay is in ms so enter how much you need

and press run in scripting window.
That's it! very simple :)
 

You can not use windows terminal. I see i made confusion so i made complete guide on how to make this string sending with delay and some additional things.
You can read it here:
**broken link removed**
Also if you need to make request response sending to some specific strings and not only delayed sending you can do that too with this same software. You can read it here
**broken link removed**
It is too long to copy whole text here
 

    V

    Points: 2
    Helpful Answer Positive Rating
hello,

I agree with electonicsbascom
Vbray terminal is a very goog tool for (UARTà RS232 debugging.
You can use a script to define you invoice in automatic mode.

Code:
//******************************
// Terminal Script
// Created: 8/18/2012 6:29:32 PM
//read more on www.electronics-base.com
//******************************
begin
ComSendstr('first line');
Delay(50);ComSendchr(13);
ComSendstr('second line');
Delay(50);ComSendchr(13);
ComSendstr('third line');
Delay(50);
ComSendchr(13);
end.

put these lines in a file "yourname.tsc"
load this file by touch "scipting" "OPEN" yourname.tsc and "RUN"

you obtain on terminal Vbray, if you short pins 2 & 3 ( Tx & RX) on DB9 connector
15:37:18.000> first line
15:37:18.050> second line
15:37:18.100> third line

it is not exactly 50mS because 50mS is a delay between each sending
and sending take some time , depend of baud rate.

if you really want Send every 50mS , you have to use timer and interrupt to start every send of sentence.
not possible by a terminal..
maybe you can use another PIC to send this !
 

    V

    Points: 2
    Helpful Answer Positive Rating
Hi,

My intention is to give a PC interface to my controller. Not to use the another controller to send the data.
Is there any possibility send the above frame sequence with the delay of 50msec each. with the terminal software?

Thanks,
V. Prakash
 

prakashvenugopal said:
Is there any possibility send the above frame sequence with the delay of 50msec each. with the terminal software?
With docklight you can do that, but it is not a free software. Try googling "docklight" and you will get links for information, as well as demo version download.
 

Hi,

My intention is to give a PC interface to my controller. Not to use the another controller to send the data.
Is there any possibility send the above frame sequence with the delay of 50msec each. with the terminal software?

Thanks,
V. Prakash

See my previous post in this topic.I gave link to tutorial on how to exactly this
**broken link removed**
I think this will be your solution if it is not critical that delay between sends is exactly 50ms. It will be exactly 50ms between sending of last character of one string and sending of first character of next string, but if you want that beginnings of strings are 50ms delayed you must compensate string length for few ms and put delay few ms smaller. 45ms for example.
 
Hi,

I had seen the link. I am not clear in the scripting language. Can you please send the Script to transmit the
Data Frame as follows:

#01Zone1 Fire$ (Delay for 50 msec)
#02Zone2 Fire$ (Delay for 50 msec)
#03Zone3 Fire$ (Delay for 50 msec)
#04Zone4 Fire$ (Delay for 50 msec)
#05Zone5 Fire$ (Delay for 50 msec)
#06Zone6 Fire$ (Delay for 50 msec)
#07Zone7 Fire$ (Delay for 50 msec)
#08Zone8 Fire$ (Delay for 50 msec)
#09Zone9 Fire$ (Delay for 50 msec)
#0AZone10 Fire$ (Delay for 50 msec)
#0BZone11 Fire$ (Delay for 50 msec)
#0CZone12 Fire$ (Delay for 50 msec)
#0DZone13 Fire$ (Delay for 50 msec)
#0EZone14 Fire$ (Delay for 50 msec)
#0FZone15 Fire$ (Delay for 50 msec)
#10Zone16 Fire$ (Delay for 50 msec)
this sequence need not to be execute repeatedly. this can execute only one time when i press the send button.


Please help.

Thanks,
V. Prakash
 

# is used to send any character if not acii even. after that you can write 3 digits of value you want to send in decimal format
$ has same functionality but waits after 2 digits in hexa decimal format
If you want to send # or $ you can also do it by writting that character two times ## or $$ so you can send each of lines you want in few different ways

for enter send #013 or $0d

##01Zone1 Fire$$#013
or
#03501Zone1 Fire#036#013
or
$2301Zone1 Fire$24$0d

so complete code for sending stings you entered just one time would be
Code:
//read more about this at www.Electronics-Base.com
program ScriptTest;
begin
  comsendstr(#035'01Zone1 Fire'#036#013);
  Delay(50);
  comsendstr(#035'02Zone2 Fire'#036#013);
  Delay(50);
  comsendstr(#035'03Zone3 Fire'#036#013);
  Delay(50);
  comsendstr(#035'04Zone4 Fire'#036#013);
  Delay(50);
  comsendstr(#035'05Zone5 Fire'#036#013);
  Delay(50);
  comsendstr(#035'06Zone6 Fire'#036#013);
  Delay(50);
  comsendstr(#035'07Zone7 Fire'#036#013);
  Delay(50);
  comsendstr(#035'08Zone8 Fire'#036#013);
  Delay(50);
  comsendstr(#035'09Zone9 Fire'#036#013);
  Delay(50);
  comsendstr(#035'0AZone10 Fire'#036#013);
  Delay(50);
  comsendstr(#035'0BZone11 Fire'#036#013);
  Delay(50);
  comsendstr(#035'0CZone12 Fire'#036#013);
  Delay(50);
  comsendstr(#035'0DZone13 Fire'#036#013);
  Delay(50);
  comsendstr(#035'0EZone14 Fire'#036#013);
  Delay(50);
  comsendstr(#035'0FZone15 Fire'#036#013);
  Delay(50);
  comsendstr(#035'10Zone16 Fire'#036#013);
  Delay(50);
  writeln('Programm finished');
end.
 

    V

    Points: 2
    Helpful Answer Positive Rating
Hi,

i had run the script, it is getting compiled with no error showing program finished display in the script output window.
In the script window, there is button called run. If i run the script, it will send the data frame or we have to send it in a file? Please let me know.

Thanks,
V. Prakash
 

It will send data to COM port. Just before you run script you must select port, baud rate and click connect. Then you are ready to run script
 

It will send data to COM port. Just before you run script you must select port, baud rate and click connect. Then you are ready to run script


Hi,

I had run the script, but it is showing as out of memory while running the script.


Thanks,
V. Prakash
 

hello,


i also never see message out of memory when using a script on VBRAY terminal.

you wrote
i had run the script, it is getting compiled with no error

why compiled ? the script is running on your PC as an interpreter , without syntax error do you means ?
did you put the script in a file with extension example "*.tsc"
after typing the script manually, just clik on "SAVE" and give a name for the file . ex: "test.tsc"

more confortable to use when terminal opening,
you just have to reload your script file. "test.tsc"

your PIC is connected to your PC trough RS232 link COM1 (or other)
on VBRAY terminal you click on "connect" with "com1" selected
then you can put "RUN" if the script is allready loaded.
 

Can anyone suggest me which is the best free terminal software.
I am using 8051 and have experience of hyper terminal only.
No special requirements are there just want to switch on other better terminal software then hyper terminal.

Thanks for giving your time. :)
 

check out one that i mentioned in few replies of this same topic above. You have download links there also. I use it and it is perfect for most of users needs in my opinion..
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top