hi TanDem! hôm qua mình chưa xem kỹ câu hỏi của bạn,bạn dùng thạch anh thực bao nhiêu thì khai báo bấy nhiêu thôi!! theo mình bạn nên thêm 1 ký tự để nhận biết kết thúc chuỗi :ví dụ ký tự '\13' chăng hạn: Com4.WriteLine(tBox_trans.Text+(char)13);
ban thử đoạn code dưới PIC này xem:
#include<16f877a.h>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20M)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8,pari ty=N)
#use fast_io(b)
int8 dodai,dem=0;
int input_ready;
char mang[50];
#int_rda
void nhan()
{
//disable_interrupts(int_timer0);
//if(kbhit())
mang[dem]=getc();
putc(mang[dem]);
if(mang[dem]==0x0d)
{
dodai=dem;
mang[dem]='\0';
input_ready=1;
dem=0;
}
dem++;
// enable_interrupts(int_timer0);
}
void main()
{
int16 i,j;
input_ready=0;
set_tris_b(0);
enable_interrupts(global);
enable_interrupts(int_rda);
output_b(0);
while(1)
{
if(input_ready==1)
{
printf("CHUOI=%s",mang);
input_ready=0;
dem=0;
}
//co the xuat ra portB de kiem tra bang led ne
for(j=0;j<dodai-1;j++)
{
output_b(mang[j]);
delay_ms(500);
}
}
}
nếu ko được bạn tải cái rs232tester về kiểm tra nhé
thay đổi nội dung bởi: thienkien, 30-05-2009 lúc 07:30 AM.
|