![]() |
|
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 |
|
![]() |
#1 | |
Đệ tử 2 túi
|
Link terminal.zip chết queo rồi các bác ạ
Link terminal.zip chết queo rồi các bác ạ
Trích:
|
|
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Mar 2006
Bài gửi: 6
: |
Thanks. Chương trình terminal rất hay.
Mình đang viết chương trình giao tiếp để điều khiển servo qua COM, chỉ dùng api có sẵn (mở cổng COM như 1 file và giao tiếp như qua 1 file). Khi nào nộp bài xong và bổ sung thêm cho đầy đủ (bởi vì mình rút gọn lại chỉ dùng để điều khiển theo yêu cầu của thầy), mình hy vọnng có thể đưa lên đây cho mọi người góp ý. Chúc vui. ![]() |
![]() |
![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: Mar 2006
Bài gửi: 6
: |
To NgoHaiBac: khi mình test chương trình của mình viết bằng api, mình thử nối tắt 2 và 3 lại nhưng nó ko nhận được gì cả. Mình dùng chương trình terminal bạn đưa, nó cũng ko nhận, mình có viết một chương trình khác bằng delphi, dùng TComPort class, nó cũng ko receive được. Cuối cùng, mình gắn 1 cái modem vào, thì nhận tuốt. Thế là thế nào nhỉ.
![]() Đây là project đầu tiên dính đến giao tiếp qua máy tính của mình, nên có 1 số cái ko hiểu, nhờ anh em chỉ hộ. ![]() |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Jun 2005
Bài gửi: 4
: |
tại sao tôi dùng chương trinh của bác NgoHaiBac thì bị lỗi(thông báo lỗi trên khung cửa sổ windown) hoặc không truyền được nhỉ.Ai biết trả lời giúp
|
![]() |
![]() |
![]() |
#5 | |
Đệ tử 9 túi
|
Trích:
Bạn đã kiểm tra các chương trình khác xem có sử dụng cổng COM chưa. Bạn phải set đúng cổng mà bạn dùng bằng cách sử dụng Hardware manage để xem trong PC của mình có những cổng COM nào và bạn dùng giao tiếp với cổng nào. Bạn chú ý, nếu một chương trình khác đang mở cổng COM để giao tiếp thì bạn không thể dùng chương trình khác với lệnh mở cổng lần nữa. Ví dụ bạn đang mở cổng COM1 để giao tiếp USART thì bạn không thể nạp Bootloader bằng cổng này mà bạn phải đóng cổng này lại bằng cách ấn vào nút Disconnect Đầu tiên khi muốn giao tiếp USART, bạn chọn cổng, chọn tần số Baud, các bit chắn, lẻ, ... rồi ấn nút Connect để giao tiếp. Chương trình Terminal bọn nước ngoài viết chạy hơi bị đỉnh. Mình đã sử dụng cái này và thấy k có lỗi gì cả. chúc bạn thành công. |
|
![]() |
![]() |
![]() |
#6 |
Đệ tử 9 túi
|
Có một số người bạn của tôi đã test chương trình ban đầu của tôi viết bằng VC++ trên nền VĐK 8051 thì thấy là truyền nhận là không có vấn đề gì cả với thạch anh 11.0592 MHZ.
Nên các bạn ai làm thêm về 8051 test lại chương trình và thông báo kết quả cho tôi nha. Còn về chương trình viết với PIC sẽ xem lại xem vấn đề nằm ở đâu. Tôi đã xem và thấy rằng vấn đề không phải là mode truyền, vì bản thân dùng với Visual Basic với mode truyền đó không có vấn đề gì. Mong rằng vấn đề này tôi sẽ giải quyết nhanh trong thời gian sớm nhất ![]() Máy đang bị chết con CPU, đang bảo hành nên đang mượn máy khác dùng, chán quá. quả này mà die con CPU có mà bán nhà đi mà mua mất ![]() Chúc các bạn thành công. |
![]() |
![]() |
![]() |
#7 |
Đệ tử 4 túi
Tham gia ngày: Mar 2006
Bài gửi: 83
: |
chào bạn Ngo Hai Bac minh có 1 số góp ý với chương trình của bạn :
-Trong quá trình truyền của bạn hình như bạn chưa kết thúc truyền bằng ký tự 13 nên nó bị sai -Trong sự kiện oncomm bạn nên có dòng UpdateData(true) ở dòng đầu tiên. - Nếu trong quá trình PIC nhận bạn dùng lệnh getc() thì không cần kí tự 13 nhưng mà chỉ nhận được có 1 số à ban mà truyền số có 2 chữ số là treo PIC. -Nếu trong quá trình PIC nhận bạn dùng lệnh gets(nhan) thì bắt buộc bạn phải kết thúc truyền bằng ký tự 13 nếu không là treo PIC. Mong bạn sớm hoàn thành chương trình vì nó rất hay. thay đổi nội dung bởi: hanhluckyly, 09-06-2006 lúc 01:56 PM. |
![]() |
![]() |
![]() |
#8 |
PIC Bang chủ
|
Anh đã bỏ phần flash trong chữ ký của NHB đi rồi, vì lý do cái flash sẽ làm mọi người load trang web khá nặng. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#9 |
Đệ tử 9 túi
|
Chương trình về RS232 bằng API
Tôi upload file chương trình .exe của chương trình trong bộ MSDN để mọi người tham khảo.Tại đang dùng mạng theo dung lượng nên chưa upload hình minh hoạ lên cho các bạn được. Mình đang tiếp tục nghiên cứu để sớm đưa ra sản phẩm mới. Mình mới thi xong nên tập trung được hơn.
Chương trình tôi đã thử và chạy cực kì ngon lành. Khi bạn nhấn phím nào thì nó sẽ truyền luôn xuống cổng COM. Các dữ liệu nhận được sẽ hiển thị trên của sổ trắng. Gửi Chính: cậu thử cái này xem giao tiếp với PIC thế nào nhé. Mình thử với dòng khác rùi. Chúc mọi người thành công. |
![]() |
![]() |
![]() |
#10 |
Đệ tử 1 túi
Tham gia ngày: Jun 2006
Bài gửi: 20
: |
Bạn NHB có thể upload mã nguồn của chương trình giao tiếp RS232 bằng API được không ?
Thân !!! |
![]() |
![]() |
![]() |
#11 | |
Đệ tử 9 túi
|
Trích:
Mình mới chỉ đọc qua mã nguồn và thấy rằng nó cực hay, sử dụng hầu hết các API để làm, không dùng các OCX tẹo nào cả. Khi các bạn đọc code nên kết hợp với tra hàm trong MSDN (bản 7 - 2001). chúc thành công. |
|
![]() |
![]() |
![]() |
#12 |
Đệ tử 9 túi
|
Gửi anh Nam: chương trình đó chạy không có lỗi đâu anh ạ. 2 cái giao diện đó không phải là lỗi mà là 2 dialog: Setting và about của nó. Anh có thể lấy mã nguồn của nó ở trên để dịch lại xem ạ. Em đã test nó rùi và chạy ngon lành.
Cảm ơn anh đã cung cấp thêm một mã nguồn mới nữa. Em đang dùng lớp CSerialCom của codegunu.com. Mã nguồn viết bằng API, và tác giả công bố Public, chương trình viết không lớn và không có kiểm soát lỗi. Em đang dựa vào lớp này. Có thể sẽ phải bổ sung thêm vài hàm cho lớp đó trên cơ sở tham khảo các chương trình khác. Em đã viết được truyền dữ liệu đi, một mảng kí tự rùi. Do tốc độ xử lý của vi điều khiển thấp nên mỗi lần truyền một character em delay 2ms. Anh thấy có ổn không ạ. Nếu tiến trình thuận lợi, đến cuối tuần này có lẽ em viết tạm ổn anh ạ. Chúc anh và mọi người thành công. |
![]() |
![]() |
![]() |
#13 |
Trưởng lão PIC bang
|
Gửi Bắc: thời gian delay tùy thuộc vào tốc độ baud, và khả năng nhận dữ liệu của vi điều khiển. Chẳng hạn, dsPIC có bộ đệm nhận 4 ký tự (không kể thanh ghi dịch), do đó truyền liên tiếp 5 ký tự vẫn không gây ra tràn bộ đệm. Về tốc độ baud, với 9600 bps thì mỗi ký tự cần khoảng 1 ms để truyền, nhưng với 38400 bps chẳng hạn, thì thời gian đó chỉ còn khoảng 250 us.
Do vậy, chương trình giao diện nên cho phép điều chỉnh số ký tự được truyền liên tiếp, và thời gian delay giữa các loạt ký tự, như vậy sẽ linh hoạt hơn. Chúc em thành công! Anh quên chưa nói đến phần lỗi của TTY.exe. Trong hai cái dialog đó có lỗi hiển thị, cái thứ nhất có title hiển thị sai, cái thứ hai không hiển thị được thông tin hệ thống. Những lỗi này không ảnh hưởng đến việc truyền nhận dữ liệu, nhưng phần mềm đã được thử nghiệm mà còn những lỗi này thì khó thuyết phục người dù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 thay đổi nội dung bởi: namqn, 04-07-2006 lúc 05:49 PM. |
![]() |
![]() |
![]() |
#14 |
Đệ tử 9 túi
|
Chuong trinh viet bang API
Xin gửi mọi người test hộ 2 chương trình sau.
Một chương trình dựa vào lớp CSerialComm. Chương trình này chưa được hoàn chỉnh trong nhận dữ liệu vì mình phải dùng hàm WaitCommEvent để nhận sự kiện. Mình đã tham khảo nhiều nhưng chưa viết xong được làm theo cac Thread. Chương trình thứ 2 dựa vào Project của bọn nước ngoài ở đây đối tượng làm bộ đệm nên hoạt động tương đối chính xác. Mong các bạn cho biết ý kiến. Quả này đang tìm nhà ở, mệt quá. Mong các bạn ở HN, có bạn nào biết có nhà cho thuê ở khu Minh Khai hoặc giữa BKHN và ĐH Dược giá khoảng 400k rộng một chút vì nhiều đồ, hơi thích riêng tư tí vì cần yên tĩnh( điện nước an ninh tốt) thì thông báo cho bọn mình với nhé. Nếu mà không tìm được nhà cửa hẳn hoi thì toàn suy nghĩ nhà cửa thôi mệt lắm làm sao mà viết được cái gì nữa. Mệt lắm, 2 hôm nay tìm nhà mãi. Mong anh em hảo tâm có chỗ nào ổn ổn giới thiệu cho mình. Làm ơn nhắn tin vào số máy của mình 0955 770725. Phải chăng là yêu cầu cao quá chăng. Hic hic mệt thật. Mình chưa chụp hình nên chỉ upload file mong các bạn xem test với PIC xem nhé. Không hiểu sao cứ login vào lại bị out liên tục,không upload file được. Chúc các bạn thành công. |
![]() |
![]() |
![]() |
#15 |
Đệ tử 9 túi
|
Mình xin gửi các bạn các linh đến 2 project mà mình mới upload:
- Chương trình đầu tiên PJ2_API: http://picvietnam.com/ngohaibac/My%2...32/PJ2_API.exe - Chương trình giao tiếp thứ 2: http://picvietnam.com/ngohaibac/My%2...SerialComm.exe Gửi Chính: cậu test hộ tớ các phần mềm này với PIC nhé, có gì hỏi tớ nhé. Chúc các bạn thành công. |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Cho hỏi về giao tiếp RS232 của PIC16F877A | enti | Giao tiếp cổng COM và LPT | 31 | 25-03-2016 10:14 PM |
Giao tiếp RS232 trên PC qua Matlab | ngohaibac | Giao tiếp cổng COM và LPT | 47 | 18-11-2015 03:51 PM |
giao tiep RS232 voi C | dangngoc | Giao tiếp cổng COM và LPT | 9 | 26-02-2012 02:25 AM |
cần mua bộ thu GPS có giao tiếp RS232 | kienvq | Tìm mua sản phẩm | 15 | 17-03-2011 11:25 PM |
Help! Dùng C để giao tiếp RS232 | dandiennang | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 6 | 15-03-2009 06:41 PM |