PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp cổng COM và LPT (http://www.picvietnam.com/forum/forumdisplay.php?f=44)
-   -   Nhận dữ liệu từ cổng COM (http://www.picvietnam.com/forum/showthread.php?t=3376)

nguyenquoctoan 27-12-2008 08:35 PM

Nhận dữ liệu từ cổng COM
 
1 Attachment(s)
Các bác cho em hỏi lỗi này là bị sao đây
giá trị nhiệt độ đọc từ cảm biến về vẽ đồ thị mà kết quả vài số lại bi vậy
giá trị nhảy như vậy đó, kô biết do vb hay code ccs đây
có bác nào làm rồi kô xin chỉ bảo

namqn 27-12-2008 09:26 PM

Trích:

Nguyên văn bởi nguyenquoctoan (Post 21730)
Các bác cho em hỏi lỗi này là bị sao đây
giá trị nhiệt độ đọc từ cảm biến về vẽ đồ thị mà kết quả vài số lại bi vậy
giá trị nhảy như vậy đó, kô biết do vb hay code ccs đây
có bác nào làm rồi kô xin chỉ bảo

Code VB và CCS C liên quan của bạn ra sao?

Thân,

nguyenquoctoan 27-12-2008 09:35 PM

Private Sub MSComm1_OnComm()
With TChart1.Series(1)
.AddXY x, y, "", vbBlack
End With
'k = k + 1 'bo
temp = MSComm1.Input 'nhan du lieu tu com
'data = data + temp 'bo
'If (k = 4) Then 'bo
'txtnhan.Text = "" 'bo
'data = data + Chr(10) ' bo
'k = 0 'bo
'End If
txtnhan.Text = txtnhan.Text + temp + Chr(13) + Chr(10)
x = x + 1
y = Val(temp) 'y duoc chuyen tu chuoi sang so
temp = ""
End Sub

đoạn code vb của em đây bác NAM
con ccs đơn giản như sau:

if (m==50) //dung 1s xuat gia tri nhiet_do ra man hinh
{
nhiet_do=value2;
// puts(nhiet_do);
printf("%f",(float)nhiet_do);
m=0;
}

trong hàm ngắt timer cứ 1s xuất ra lcd và máy tính, lcd thi bình thường còn máy tính có vấn đề kiểm tra mãi mà chưa ra

nguyenquoctoan 27-12-2008 09:39 PM

khi hiển thị lên text thì nó bị xuống dòng tự nhiên nhảy vô cớ nên trên phần đồ thị đã vẽ sai số nhảy đó
trong vb chỉ đơn giản là nhận dữ liệu vào sau đó hiện thị lên text và vẽ đồ thị sồ vừa nhận sau khi chuyễn từ chuỗi sang số.
còn ccs thì trả giá trị đọc đuợc lên máy tính

nguyenquoctoan 27-12-2008 09:43 PM

vì mỗi lần hiển thị nó sẽ hiển thị như sau: ví dụ 34.57 thì sẽ hiển thị cùng lúc 3 xuống dòng 4.57, delay,rồi còn các số khác như 45.67 nên em chưa tim ra lỗi được

namqn 28-12-2008 12:38 AM

Sự kiện OnComm xảy ra khi nào? Có phải lúc bạn hoàn thành một lệnh printf() từ PIC lên PC, hay có thể xảy ra ngay khi gửi xong một ký tự từ PIC lên PC?

Thân,

nguyenquoctoan 28-12-2008 11:24 AM

sự kiện oncomm của em xảy ra khi gửi xong một ký tự từ PC lên,

namqn 28-12-2008 04:56 PM

Trích:

Nguyên văn bởi nguyenquoctoan (Post 21752)
sự kiện oncomm của em xảy ra khi gửi xong một ký tự từ PC lên,

Bạn suy nghĩ tiếp đi chứ. Tôi chỉ gợi ý cho bạn thôi. Nếu sự kiện OnComm xảy ra khi PC nhận được một ký tự thì những gì đang diễn ra là hoàn toàn bình thường.

Thân,

nguyenquoctoan 28-12-2008 05:11 PM

thưa bác nam em đã khắc phục được lỗi bằng cách truyền thêm một ký tự vào chuỗi cần hiền thị lên máy tính và trên đó xử lý bằng vb cắt nó.
cảm ơn bác đã dành thời gian chỉ dạy
cảm ơn mọi người

20042706 01-04-2009 02:10 PM

<Hoalocvung_bk@yahoo.com>
Mình đang làm đồ án tốt nghiệp ! Có chút khúc mắc về VB :
Đó là hiển thị 1 dãy 4 chữ số từ MSComm.input lên 1 textBox
Các số đã chuyển qua mã ASII
__________________________________________________
Huynh Đệ nào biết giúp mình với:
- Các điều khiển và thông số?
- Đoạn Code như thế nào?
Cảm ơn nhiều !!!
<Hoalocvung_bk@yahoo.com>


Múi giờ GMT. Hiện tại là 09:31 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam