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. |
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. |
help
Xin chan thanh cam on bai viet cua ban Bac, hien nay toi chi moi hoc Visual C++ nhung do de tai tot nghiep doi hoi toi phai viet 1 giao dien de truyen so lieu tu PC1 den PC2 bang RS232 standard. De toi mo ta so luoc ve de tai cua toi:
Toi dang dung 1 chuong trinh xu ly anh ten la Digiclops application programming interface tren PC1. Do do de chuyen cac thong so cua anh tu chuong trinh nay vao giao dien vua tao boi VS C++ sau do gui den mot PC khac. Xin ban chi giup toi phai lap trinh nhu the nao. Toi da download chuong trinh cua ban tu forum nhung khong co file exe xin ban hay gui day du dum qua email: kiethnt@yahoo.com. Hoac ban hay sua chuong trinh that don gian nhat de toi co the tiep tuc lap trinh them cho phu hop voi yeu cau cua de tai Chan thanh cam on su giup do cua ban |
Ban Bac co quyen sach Serial port complete programming dang Pdf khong pỏt len dum minh dang rat can hoc de lam de tai
|
Đây nè.
http://rapidshare.de/files/23579994/...an_Axelson.pdf :) Bạn vào địa chỉ này, nhấn vào cái nút "FREE", sau đó đọc kĩ các thông báo ở các trang tiếp theo và làm theo là được. Nó kêu đợi thì phải chịu khó đợi. Hehe, sinh viên bắt đầu vào mùa làm đề tài rồi đây. Mình cũng thế. |
hi hi chào các đại ca trong diễn đàn.Có chương trình viết bằng vb giao tiếp PC qua rs232.Post cho em học hỏi.Cám ơn nhiều
|
Chào các bạn, đây là chương trình giao tiếp RS232 trên PC viết bằng VC++ dùng multithread. Chương trình nhận dữ liệu rất hiệu quả khi mình đấu chéo 2 chân 2 và 3 của cổng COM.
Các bạn dùng test thử chương trình này và cho ý kiến nhé. Đây là giao diện chương trình và chương trình: http://picvietnam.com/ngohaibac//My%...SerialComm.exe Chúc các bạn thành công. Chúc các bạn thành công. |
Trích:
Chúc bạn thành công. |
http://www.picvietnam.com/ngohaibac/...rce%20code.zip
File chương trình trên khi chạy trên máy không cài VC++ có lỗi, các bạn download sourcode về dịch lại và chạy trên máy của mình nhé. Và cho mình kết quả test của chương trình này. Chúc các bạn thành công. |
Bạn ơi cho mình hỏi thêm một chức năng đó là TRUYỀN NHẬN FILE bằng ACTIVE X viết bằng VC++ nha. Bạn Ngô Hải Bắc hãy giúp anh em mở rộng thêm kiến thức. Trả lời sớm nha. Thank u
|
Vào CodeProject có thư viện của Raymon De Klein viết rất tốt. Chạy chế độ nonblocking, multi-thread. Mình đã dùng thư viện này, chuyển 125200bps thoải mãi, vẽ đồ thị, xử lý đọc ghi database cùng một lúc ngon lành, host PC không treo cứng đơ như kiểu blocking.
Bạn nên tìm hiểu thêm source code MTTY của một programmer tại Microsoft viết cho RS232 rất hay. |
Mình vào rồi có thấy gì đâu bạn ơi. Bạn nói rõ hơn về việc truyền nhận FILE được ko? Đang cần gấp, Thank u
|
Trích:
Trích:
Mình đã nghiên cứu chương trình này rùi. Nó dùng một thread chuyên chờ dữ liệu vào với hàm WaitCommEvent. Cảm ơn các bạn đã tham gia góp ý. Mình sẽ cố gắng để hoàn thiện chương trình hơn nữa và giải đáp thắc mắc của các bạn. chúc bạn thành công. |
Các bác em là thành viên mới mà em đang phải làm ghép nối máy tính đề tài
"viết chương trình xuất dữ liệu ra máy in qua cổng LPT" Bác nào biết giúp em với ngôn ngữ gì cũng được (Nếu ViusualBasic thì càng tốt) Cảm ơn trước nha ních em là manhct703@yahoo.com |
Phần mềm COMMASTER để debug RS232
1 Attachment(s)
Gửi tặng các bạn phần mềm COMMASTER để giao tiếp cổng COM, đơn giản hơn HyperTerminal rất nhiều.
File exe tôi đổi thành zip, các bạn đổi lại rồi dùng. Lưu ý: đã quét virus. |
mình cũg dã viết thử giao tiếp giữa vi điều khiển với máy tính thông qua cong 232, nhưng lại viết trên Visual basic , kết quả cũg tương tự .Trong visual cũg hỗ trợ Mscomm , giống hệt như C++
|
Các Bác ơi, Cho Em Hoi
Nếu Mình Lập Trình Com ảo, Usb To Com ấy Mà, Sau Khi Cài Driver Cho Cáp Nó Cho 1 Cổng Com Mới, Vậy Lập Trình Cho Nó Có Khác Com Thường Ko Nhỉ Các Bác Giúp Nhe |
Đây là tài liệu Serial_Complete của Jan Axelson, (38.5MB)
http://www.tailieuvietnam.net/downlo...20Complete.pdf Mọi người down về để lấy làm tài liệu cho mình nhé. |
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:
|
Trích:
http://msdn.microsoft.com/vstudio/express/visualc/ Thân, |
Link của TUT của mình đây bạn ạ:
http://www.tailieuvietnam.net/downlo...OHB.100106.pdf Chúc bạn thành công. |
Chao anh Bắc,sau khi down Ct của anh chạy thử thì nó báo các lỗi sau:
-------------------Configuration: RS232TUT - Win32 Debug-------------------- Linking... RS232TUT.obj : error LNK2001: unresolved external symbol "public: __thiscall CRS232TUTDlg::CRS232TUTDlg(class CWnd *)" (??0CRS232TUTDlg@@QAE@PAVCWnd@@@Z) nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/RS232TUT.exe : fatal error LNK1120: 4 unresolved externals Error executing link.exe. RS232TUT.exe - 5 error(s), 0 warning(s) Chắc do bản VC của nhà em nhỉ? Làm sao để sửa lỗi này , anh ơi . Giúp đỡ em zới ^^. Cám ơn mọi người |
Chào em. Em chỉ rõ lại cho anh em down file nào nhé.
Để anh còn biết lỗi nào xảy ra nhé. Anh thì chạy vẫn bình thường. Không hiểu là chương trình có lỗi hay VC của em có lỗi nhỉ. Anh vẫn chạy bình thường em ạ. Cảm ơn em đã report lỗi cho anh. Anh sẽ xem lại em nhé. Chúc em thành công. |
Anh Bắc ơi, em down ct của anh theo lk sau:http://www.picvietnam.com/forum//att...0&d=1136379519
Sau khi F5 thì nó xuất hiện lỗi : --------------------Configuration: RS232TUTDlg - Win32 Debug-------------------- Linking... RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall CMSComm::GetRuntimeClass(void)const " (?GetRuntimeClass@CMSComm@@UBEPAUCRuntimeClass@@XZ ) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetOutBufferSize(short)" (?SetOutBufferSize@CMSComm@@QAEXF@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetInputMode(long)" (?SetInputMode@CMSComm@@QAEXJ@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetInBufferSize(short)" (?SetInBufferSize@CMSComm@@QAEXF@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetInputLen(short)" (?SetInputLen@CMSComm@@QAEXF@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetRThreshold(short)" (?SetRThreshold@CMSComm@@QAEXF@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetSettings(char const *)" (?SetSettings@CMSComm@@QAEXPBD@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetHandshaking(long)" (?SetHandshaking@CMSComm@@QAEXJ@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetCommPort(short)" (?SetCommPort@CMSComm@@QAEXF@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetPortOpen(int)" (?SetPortOpen@CMSComm@@QAEXH@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: int __thiscall CMSComm::GetPortOpen(void)" (?GetPortOpen@CMSComm@@QAEHXZ) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMSComm::SetOutput(struct tagVARIANT const &)" (?SetOutput@CMSComm@@QAEXABUtagVARIANT@@@Z) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: struct tagVARIANT __thiscall CMSComm::GetInput(void)" (?GetInput@CMSComm@@QAE?AUtagVARIANT@@XZ) RS232TUTDlg.obj : error LNK2001: unresolved external symbol "public: short __thiscall CMSComm::GetCommEvent(void)" (?GetCommEvent@CMSComm@@QAEFXZ) nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/RS232TUTDlg.exe : fatal error LNK1120: 17 unresolved externals Error executing link.exe. RS232TUTDlg.exe - 18 error(s), 0 warning(s) Chắc do VC nhà em có vấn đề rồi :(, anh có thể dịch ra file .exe rồi post lại đc không ạ? Thanks anh nhiều :D |
3 Attachment(s)
Chào em.
Vậy là Visual C++ của em có vấn đề rùi đó. Đĩa VC++ trên thị trường hiện nay hình như có 2 loại thì phải. Một loại cài vào thì khi dịch có lỗi ngay. Em hãy viết một chương trình đơn giản rùi dịch xem nhé. Nếu mà không dịch được thì em mua đĩa VC hoặc mượn đĩa khác nhé em. Anh gửi kèm file .exe cho em rùi đó. File RS232TUT.zip đó (vì diễn đàn k cho up file .exe). Chúc em thành công. |
Tôi thấy luồng này rất hay và đã theo dõi từ khi luồng này mới bắt đầu. Tuy nhiên tôi thấy thế này, vì diễn đàn của mình phần nhiều là dân điều điện tử nên làm thiên về điện tử hơn, phần lập trình tạo giao diện tuy quan trọng nhưng theo tôi thì lập trình bằng VB khá đơn giản mà hiệu quả cũng không quá kém. Nếu tôi không nhầm thì bạn NHB đã có bài viết về lập trình truyền thông dùng VB rồi ở bên dientuvietnam rồi thì phải nhưng tôi cũng mạnh dạn đề nghị bạn mở một luồng giao tiếp RS232 dùng VB ở đây vì theo ý kiến chủ quan của tôi thôi: VB tương đối đơn giản và dễ dùng, hiệu quả cũng khá cao nếu khai thác tốt cũng rất mạnh và hợp với dân điện tử, người học sẽ nhanh chóng hơn, còn bạn nào đã học C++ thì cứ tiếp tục trao đổi; chắc là bạn NHB sẽ không mất quá nhiều thời gian cho luồng VB đâu.
Tôi thấy một chương trình bạn NHB viết bằng C++ chỉ có một vài chức năng nhỏ với giao diện đơn giản ( tôi nhìn tổng quan thôi chứ không có ý gì đâu nhé, tôi không biết VC++ ) mà cũng mất khá nhiều công phu, trao đổi, cả lỗi nữa còn một chương trình tương tự viết bằng VB thì đơn giản hơn nhiều bạn chỉ cần gọi một vài hàm và chương trình là OK. Tôi biết là chương trình nhỏ viết bằng VB thì không có vấn đề gì lắm nhưng trong quá trình làm thì cũng nảy sinh những vướng mắc cần phải giải đáp. Mới lại tôi cũng muốn làm PIC lập trình VB thì có thể trao đổi luôn ở đây chứ không cần cứ chạy qua chạy lại các diễn đàn. Tôi cứ đề nghị bạn NHB như vậy nếu bạn có thời gian thì có thể xem xét ý kiến đề xuất của tôi còn nếu không thì bạn cứ coi như bài viết của tôi là một sự động viên khích lệ bạn thôi. Nếu bạn mở luồng mới dạy làm bằng VB thì cũng là điều may mắn cho các thành viên LT bằng VB như tôi chẳng hạn. Nếu bạn nào lo ngại VB chưa đủ mạnh thì sài VB NET hoặc C# lúc đó có gì thắc mắc cứ post lên, tôi biết thì sẽ giúp đỡ và ngược lại không biết thì tôi hỏi thôi. Thân ái chào và cảm ơn bác Ngô Hải Bắc! |
Cảm ơn bạn đã góp ý với mình.
Mình chọn viết bằng Visual C++ đơn giản vì nó dùng lập trình cấp thấp rất là tốt. Chúng ta hoàn toàn có thể can thiệp vào các phân cứng bên dưới của PC. Điều này rất là có ích. Ngoài ra, các website và những người làm về C rất là nhiều. Nhiều người đạt đến mức công phu rùi. C xuất hiện trước khi có Visual Basic do đó nên các đồ án, nghiên cứu từ ngày xưa đều dựa trên chuẩn C. Khi mình dùng C thì chắc chắn là kế thừa được các project này. Viết bằng Visual Basic thì không có gì khó khăn bằng VC++. Để mình suy nghĩ đã nhé. Mình đã mở thêm thread lập trình giao tiếp bằng Matlab và đã thành công, đã có bạn test rùi, và cho ý kiến ở luồng: http://www.picvietnam.com/forum//showthread.php?t=752 Còn trong thời gian tới mình sẽ hướng dẫn viết giao tiếp bằng Labview - một công cụ khá mạnh. Các bạn có thể khám phá Labview qua luồng: http://www.picvietnam.com/forum//showthread.php?t=851 Chúc mọi người thành công. |
Anh Bắc ơi, đúng là VC nhà em có vấn đề :D
Sau khi chỉnh sửa lại thì chạy ngon lành rồi anh ạ . Cám ơn anh nhiều |
Tôi dùng code của Ramon de Klein( viết riêng cho lớp CSerial) khi chạy chương thử chương trình Hello world thì bị lỗi(lỗi là Unable to open COM-port(error code 5)). Có bác giúp tôi được không (link download code này là http://www.codeproject.com/system/Serial.asp)
|
Sao không có bác nào trả lời hết vậy.Ai đã thử dùng code này của Ramon de Klein( viết riêng cho lớp CSerial) chưa
|
Chào bạn. Xin lỗi vì sự trả lởi chậm trễ. Mình mới về quê nghỉ tết bi giờ mới lên.
Mình có xem chương trình này rùi. Chương trình viết trên nền Win32 (dùng các hàm API - lập trình Windows) chứ không phải MFC. Mình chạy thấy bình thường, tuy nhiên file demo là một ứng dụng đơn giản để test thử khi truyền đi một kí tự đặc biệt rùi nhận về ngay. Do đó nó dùng để test khi cổng RS232 được nối tắt. Lập trỉnh Win32 tức là lập trình theo đáp ứng các thông điệp, bạn đọc kĩ chương trình sẽ có hàm API waitcomevent hàm này sẽ chờ để xảy ra sự kiện nào đó ở cổng RS232 nên khi không có dữ liệu về hay có lỗi gì thì máy treo ngay.PC dùng toàn bộ 100%, bó tay:D. Mình đã thử cho trễ khoảng 1s vào hàm phục vụ thông điệp thì chạy ổn nhưng có điều là khi truyền tốc độ cao sẽ mất dữ liệu. Chúc các bạn thành công. |
Có bác nào biết kết nối cổng COM RS232 qua 3964R Siemens protocol không làm ơn chỉ dùm mình nhá. Bởi vì hiên nay minh đang làm đề tài kết nối PC với PLC Siemens dùng protocol 3964R. Mình có source code viết bằng Bỏland C++3.1 nhưng không thể sử dụng được vi nó chỉ chạy tren Win 98. Các bạn tham khảo toaàn bộ source minh upload rồi giúp minh nhá. Cám ơn trước nha.
|
Serial RS23 với 3964R Siemen protocol
Bạn nào biết chương trình gửi data từ PC đến controller Siemens có 3964R protocol làm ơn chỉ dùm. Mình có chưong trình này nhưng viết bằng Borland C++3.1 chỉ chạy trên Win 98 mà đế tài minh phai sử dụng Win XP, mình không biết lam sao để có thể chạy chương trình này trên Win XP. Bạn nào có thể viết chương trình này bằng VC++ chi dùm mình nhá. Minh có gửi kèm theo toaàn bộ source code cua nó đây.
|
file đính kèm
1 Attachment(s)
mình quên upload file đính kèm. Xin lổi nha
|
Bạn nên tìm hiểu thuật toán hiện thực giao thức trong mã nguồn (không quá khó khăn với mã nguồn C), sau đó tìm hiểu cách thực hiện những công việc liên quan đến cổng RS-232 (serial port) cho Windows NT/2000/XP, vì những hệ điều hành này không cho phép truy xuất trực tiếp phần cứng theo cách mà chương trình mẫu đã sử dụng. Về giao tiếp RS-232 trên Windows thì box này chính là nơi bạn có thể tìm thông tin, ngohaibac đã giới thiệu cho một số ngôn ngữ rồi.
Thân, |
Delphi
1 Attachment(s)
Có ai lập trình điều khiển bằng Delphi không? Do lịch sử để lại, thời mình đi học chỉ đựoc dạy Pascal, thế nên sau này cũng vẫn theo con đường cũ mà dùng Delphi.
Mình thấy viết chương trình điều khiển bằng VB thì đơn giản thật, nhưng khi dân kỹ thuật dùng thì vẫn thấy thế nào ấy. Dùng VC thì là Pro nhất, nhưng với mình thì sẽ mất rất nhiều thời gian để học. Thế nên mình phải sử dụng Delphi. Hiện mình có một số thư viện để viết cho cổng RS232 bằng Delphi, đây cũng là những thư viện free và mình download trên net cả thôi, nhưng mình thấy dùng khá ổn định và dễ dàng. Mình xin đóng góp lên đây để mọi ngừoi tham khảo nhé. Chúc mọi người vui vẻ :) :) :) |
truyen du lieu so dung VC++
chao cac bac!
em chi moi tap tanh ve VC++ va dung MScomm de giao tiep voi vdk 89s52. truyen du lieu thi ca hai ben dieu nhan duoc. khi truyen kieu CString thi du lieu truyen khong co sai sot. tuy nhien, em muon truyen theo kieu so, chang han nhu truyen con so nguyen 234 thi lai truyen sai het ca ben vdk va PC. em thay cac bac kha ranh ve van de nay nen xin cac bac giup em voi dieu nay rat can thiet cho em vi em dang lam de tai mon hoc. xin bac nao biet giup em voi |
Hiển thị dữ liệu giao tiếp qua RS232
Mình có 1 mạch điều khiển động cơ DC sd VDK có giao tiếp với máy tính qua cổng COM.Dữ liệu về tốc độ được đọc về từ encoder. Giờ muốn lưu lại vào 1 file để chuyển thành đồ thị thì làm thế nào? có cao thủ nào giúp mình với.Mình dùng visual C++ để lập trình
|
Thám à,
Cậu xem về đọc ghi file trong VC++ nhé, mở MSDN ra mà xem. Thư viện với VC++ là fstream.h. Còn việc hiển thị dữ liệu lên figure thì tìm component của VC++ ấy. Mình tìm cho sau nhé. Chúc mày ok :D. |
Sao em down cai link http://luckytoki.com/haibac/download...C/Terminal.zip
chương trình TERMINAL của anh HẢI BẮC ko dược nhỉ nhờ các bác chi ZUM THANK! |
Múi giờ GMT. Hiện tại là 03:48 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