Arsip: TComport (Data Serial Ada New Line)

more 13 years ago
exeption_e77or
Hloo
Saya punya problem dengan Comport?
Untuk Mengirim atau pun menerima data dari serial berhasil
tapi masalahnya setiap kali saya terima data serial dan menampilkan
data tersebut ke Memo atau RichEdit pasti ada "New Line"
Contohnya gini dari Mikrokontroller saya kirim :
Dari Sumber Mikro = 43
setelah di terima dan ditampilkan di Memo Atau RichEdit hasilnya seperti ini.
Memo1
4
3
4
3
saya sudah coba menggunkan Hyperterimnal dan hasilnya sama dengan sumber 43;
dan saya dapat solusi dari kode programnya seperti ini:
saya menggunakan C++
AnsiString DataSer
ComPort1->ReadStr(DataSer,Count);
RichEdit2->Text = RichEdit2->Text+DataSer;
ada yang tau ga gimana cara menampung Data serial yang Didalam RichEdit2 ?
soalnya ketika saya mengambil data Referens dari variable DataSer pasti hasilnya ada NewLine lagi..
Tolong Pencerahanya :)
Salam
exeption_e77or :D
more 13 years ago
denmasdanang
coba kesini mas :
http://pascal-id.org/dpr/Forum/viewtopic/7869/subject/help.....-USB-to-SERIAL-mengunakan-ic-FT232-BL-/highlight/comport

more 13 years ago
exeption_e77or
@denmasdanang: coba kesini mas : http://pascal-id.org/dpr/Forum/viewtopic/7869/subject/help.....-USB-to-SERIAL-mengunakan-ic-FT232-BL-/highlight/comportThanks denmasdanang tapi mas saya mau nanya, apa iya data yang kita terima dari serial Comm port itu benar2 ada jedah baris? Thanks in advance adhy

more 13 years ago
exeption_e77or
Oh iya ini simple scripts sya dari Mikro yang hanya mengirim data 43
[code:1:9b00eeb754]
//pengiriman data serial
#include<reg52.h>
#include<stdio.h>
#include<stdlib.h>
void tunda_ms(unsigned int wkt)
{
unsigned int i,r;
for(i=0;i<wkt;i++)
{
for(r=0;r<100;r++);
}
}
void init_intser()
{
EA=1;
ES=1;
PS=1;//perioritas tinggi
}
void Init_SerialT2()
{
//timer 2 Osilator 12 MHz
TCLK = RCLK = 1;
SM0 = 0;
SM1 = 1;
TH2 = 0x5;
TL2 = 0x124;
RCAP2H = 0xff;
RCAP2L = 0xec; //baut rate 19200
SCON = 0x50; // enable serial com mode1 = 8 bit UART
T2CON = 0x34; // timer2 as baud rate generator
REN = 1;
C_T2 = 0;
TR2 = 1;
}
void KirimChar (unsigned char datanya)
{
ES =0;
SBUF =datanya;
while(!TI)
{;}
TI =0;
ES =1;
}
void KirimTeks (unsigned char *teks)
{
char i =0;
while (teks[i] !=0)
{
KirimChar(teks[i]);
i++;
tunda_ms(10);
}
}
void main()
{
init_intser();
Init_SerialT2();
while(1)
{
KirimTeks("43"); //<< data yang dikirim bernilai 43
//KirimChar(234);
tunda_ms(1000);//<< kira2 1 detik
}
}
[/code:1:9b00eeb754]
dengan scripts diatas diterima oleh Com port
dengan kode berikut.
AnsiString DataSer
ComPort1->ReadStr(DataSer,Count);
RichEdit2->Text = RichEdit2->Text+DataSer;
tapi setelah saya mengambil nilai dari DataSer dan ditampilkan di TCart
nilai yang diberikan tidak menunjukan angka 43 tapi 4?
3-nya kemna? :)
[code:1:9b00eeb754]
AnsiString DataSer
ComPort1->ReadStr(DataSer,Count);
//RichEdit2->Text = RichEdit2->Text+DataSer;
unsigned int ch = 0 ;
if (!DataSer.IsEmpty())
{
Shape3->Brush->Color = clRed;
Series1->Add(StrToInt(DataSer),ch,clRed);
ch++;
}
[/code:1:9b00eeb754]
[/code]
more 13 years ago
mas_kofa
coba, data yg kamu kirim dari mikrokontroller akhiri dengan delimiter....sehingga mudah dalam memparsing output nya oleh TComport (berdasarkan delimiter)....

more 13 years ago
exeption_e77or
@mas_kofa: coba, data yg kamu kirim dari mikrokontroller akhiri dengan delimiter....sehingga mudah dalam memparsing output nya oleh TComport (berdasarkan delimiter)....Maaf saya kurang ngerti Dengan Delimiter? yang saya tangkap berarti diberi pembatas yang diakhiri dengan backslash? apa seperti ini Mas
void main()
{
init_intser();
Init_SerialT2();
while(1)
{
KirimTeks("[b]43\n[/b]"); //<< data yang dikirim bernilai 43
//KirimChar(234);
tunda_ms(1000);//<< kira2 1 detik
}
}

more 13 years ago
exeption_e77or
@exeption_e77or:@mas_kofa: coba, data yg kamu kirim dari mikrokontroller akhiri dengan delimiter....sehingga mudah dalam memparsing output nya oleh TComport (berdasarkan delimiter)....Maaf saya kurang ngerti Dengan Delimiter? yang saya tangkap berarti diberi pembatas yang diakhiri dengan backslash? apa seperti ini Masvoid main() { init_intser(); Init_SerialT2(); while(1) { KirimTeks("43\n"); //<< data yang dikirim bernilai 43 //KirimChar(234); tunda_ms(1000);//<< kira2 1 detik } }

more 13 years ago
mas_kofa
delimiter nya berupa apa pun terserah.....mo backslash atau semicolon...terserah...

more 13 years ago
exeption_e77or
@mas_kofa: delimiter nya berupa apa pun terserah.....mo backslash atau semicolon...terserah...oh iya saya sudah... buat delimiter-nya dan hasilnya juga sama mas penggalan codenya seperti ini
void main()
{
init_intser();
Init_SerialT2();
while(1)
{
KirimTeks("43\n"); //<< data yang dikirim bernilai 43
//KirimChar(234);
tunda_ms(1000);//<< kira2 1 detik
}
}
tapi hasilnya juga sama..
[/code]
more 13 years ago
denmasdanang
@exeption_e77or: [quote:f5a9528f02="denmasdanang"]coba kesini mas : http://pascal-id.org/dpr/Forum/viewtopic/7869/subject/help.....-USB-to-SERIAL-mengunakan-ic-FT232-BL-/highlight/comport[/quote:f5a9528f02] Thanks denmasdanang tapi mas saya mau nanya, apa iya data yang kita terima dari serial Comm port itu benar2 ada jedah baris? Thanks in advance adhy:mas adhy jeda baris? tergantung pengiriman dari mikrocontroller, dari code masnya ini
void KirimChar (unsigned char datanya)
{
ES =0;
SBUF =datanya;
while(!TI)
{;}
TI =0;
ES =1;
}
void KirimTeks (unsigned char *teks)
{
char i =0;
while (teks[i] !=0)
{
KirimChar(teks[i]);
i++;
tunda_ms(10);
}
}
menunjukkan data dikirim per karakter, dan memang benar harus ada karakter sufiks/akhiran yang menandai satu paket data terkirim lengkap
kemudian di coding mas nya :
AnsiString DataSer
ComPort1->ReadStr(DataSer,Count);
RichEdit2->Text = RichEdit2->Text+DataSer;
juga harus ditambah condition dimana bila data yang diterima berupa karakter akhiran maka RichEdit2 baru menampilkan data.
thxmore ...
- Pages:
- 1
- 2
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- situs yang ada source code delphi tentang game sederhana
by gormet in Games more 18 years ago - Dimana ya bisa belajar tt struktur file ?
by jancky in Tip n Trik Pemrograman more 17 years ago - threading in n-tier
by simple_code in Tip n Trik Pemrograman more 16 years ago - Sintax Error
by umarbakri in Hal umum tentang Pascal Indonesia more 18 years ago - Aplikasi delphi berhubungan dengan nomor rekening
by boediman in Tip n Trik Pemrograman more 16 years ago - GapleX 1.5 sudah di release
by portege in Games more 18 years ago - Design Pattern
by danieljun in Enginering more 17 years ago - zeos komponen
by grounders in Hal umum tentang Pascal Indonesia more 19 years ago - TMemoryStream
by muktaf in Tip n Trik Pemrograman more 17 years ago - freeware gudang
by supik in OpenSource dan Gratis more 15 years ago