![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển... |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#9 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
mình truyền giá trị 0<X<1000 cho bạn xem như sau
khi truyền và nhận tất cả phải ở dạng chuỗi code vb: rstr = txttruyen.Text 'dữ liệu cần truyền If (Val(rstr) < 1000) And (Val(rstr) > 0) Then l = Len(rstr) ‘gan l cho do dai c If (l = 1) Then rstr = "000" + rstr End If If (l = 2) Then rstr = "00" + rstr End If If (l = 3) Then rstr = "0" + rstr End If End If If rstr = "" Then ' do anything if u want Else Call MoPort_Click 'goi hàm mở port khai báo thông số cần truyền MSComm1.Output = rstr 'truyền dữ liệu xuống End If code c #include<16f877a.h> #device PIC16F877a*=16 ADC=10 #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) //hàm nhận dữ liệu void getvalue() { int16 x; int i; char s[1]; //khai báo số lượng chuỗi truyền for(i=0;i<4;i++) //số ký tự truyền xuống s[i]=getc(); //nhan s vao tu tu dang chuoi x=atol(s); //chuyen chuoi sang so y=x; //số bạn cần truyền đây printf("%lu",x); “xuat gia tri x ra pc so ko dau } //hàm main void main() { while(1) { if (y==0) getvalue(); } } hi vọng giúp được bạn |
![]() |
![]() |
|
|