|
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 |
|
27-12-2008, 08:35 PM | #1 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
Nhận dữ liệu từ cổng COM
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 |
27-12-2008, 09:26 PM | #2 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
27-12-2008, 09:35 PM | #3 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
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 |
27-12-2008, 09:39 PM | #4 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
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 |
27-12-2008, 09:43 PM | #5 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
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
|
28-12-2008, 12:38 AM | #6 |
Trưởng lão PIC bang
|
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,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
28-12-2008, 11:24 AM | #7 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
sự kiện oncomm của em xảy ra khi gửi xong một ký tự từ PC lên,
|
28-12-2008, 04:56 PM | #8 |
Trưởng lão PIC bang
|
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,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
28-12-2008, 05:11 PM | #9 |
Đệ tử 6 túi
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
: |
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 |
01-04-2009, 02:10 PM | #10 |
Nhập môn đệ tử
Tham gia ngày: Mar 2009
Bài gửi: 1
: |
<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> |
|
|