PDA

View Full Version : c ỏ c++ cho pic????


tanhot
09-08-2005, 02:01 PM
:D chào các bạn mình cứ thắc mắc mãi không biết học lập trình nào cho pic ..mình dọc thấy c++cài tiến c va có nhiều tính năng hay hơn,cái tiến hơn .nhưng sao mình thấy các bạn trong này sai asm or c (ti chưa học ngông ngử nào cã) ..các bạn có cho tui biết lợi ích cũa ngông ngử c or asm so với c++ được khong..(điều này lảm tôi khó khăn trong việc lựa chọn môn lập trìng đễ học... à mà chúng ta co thễ lập trìng bằng java không(hiện tại tương lai) ...tui thấy c++ học dễ hơn ngôn ngữ khác ...và tui học năm 1 trường dạy c++ ..nhưng không biết có đáp ứng ngành cơ điện tử lập trìng cho ro bốt không.. :eek: mong các bạn đã học qua hợac có kinh ngiệm chỉ mình với ..bớ bớ :o

falleaf
09-08-2005, 04:36 PM
Cho đến nay, chỉ có Source Booster hỗ trợ lập trình C++ cho PIC. C++ khác C chủ yếu ở điểm lập trình hướng đối tượng. Cách viết hơi khác một chút.

Tuy vậy, vì khi tương tác với các vi điều khiển, thường người ta vẫn tương tác trực tiếp, khái niệm lập trình vi điêu khiển hướng đối tượng cho đến nay chưa đạt hiệu quả cao lắm, vì thế trên thế giới vẫn chỉ dùng C và các ngôn ngữ thông dụng khác như Basic và Pascal là nhiều. Còn lập trình ASM là lập trình cấp thấp, gần như tương tác trực tiếp. Nhiều người thích lập trình cấp thấp, điển hình là tôi.

C và C++ về mặt lệnh gần như không có gì khác nhau, tôi vẫn chưa dùng C++ trên PIC nên khó có thể trả lời cho bạn về lợi điểm thực sự.

Chúc vui.

romanza
07-09-2005, 11:47 AM
Cho đến nay, chỉ có Source Booster hỗ trợ lập trình C++ cho PIC. C++ khác C chủ yếu ở điểm lập trình hướng đối tượng. Cách viết hơi khác một chút.


Chào bác
em là dân Cơ điện tử, cũng đã xài qua 8051 nay muốn tìm hiểu và sử dụng vdk PIC, cho em hỏi cái Source Booster bác nói ở trên có thể download hay tìm ở đâu

thangngo
07-09-2005, 12:41 PM
Chào bác
em là dân Cơ điện tử, cũng đã xài qua 8051 nay muốn tìm hiểu và sử dụng vdk PIC, cho em hỏi cái Source Booster bác nói ở trên có thể download hay tìm ở đâu
Khuyên một câu,nếu mới bắt đầu học thì viết bằng ASM đi.Còn cái chương trình đó thì vào google đánh một phát là có liền à :D

LEO-XBS
09-10-2005, 05:33 PM
khi mới học lập trình vi điều khiển thi ban nên học asm. như vậy bạn sẽ hiểu rõ về con vi điều khiển đó hơn

vmedda
20-10-2005, 04:35 PM
hi falleaf!
Tôi nghĩ rằng để có thể hiểu và viết được một chương trình cho PIC bằng ASM đối với những người mới bắt đầu thật không đơn giản, vậy sao bạn lại không có một bài viết với ngôn ngữ C cho VĐK thật chi tiết có chú thích rõ ràng để một người mối chân ướt chân ráo làm quen với PIC cũng có thể hiểu được và thực hiện bởi tôi nghĩ viết bằng C sẽ gần gũi hơn.

duc kien
21-10-2005, 10:36 AM
Minh nghi rang khi lap trinh cho pic thi nen su dung C . Minh da tung lap trinh cho PIC bang ASM nhung sau khi chuyen qua C thi thay tien loi hon rat nhieu . Doi voi nhung ban moi lap trinh C , cach tot nhat la nen tham khao cac sourecode co san , khi do cac ban se rut ra duoc nhieu dieu bo ich cho minh . Con doi voi C++ thi minh chua co dieu kien thu qua nen khong co y kien gi ve mang nay .

ThanhPhuc
17-12-2005, 09:36 PM
Bạn vào địa chỉ www.Picant.com để download bản demo chỉ dùng được 15 ngày.
Trình dịch nầy chuyên nghiệp,có cả debug .

falleaf
17-12-2005, 11:28 PM
http://picvietnam.com/showthread.php?t=48

Bạn xem luồng này thì sẽ rõ. Bởi vì có quá ít thành viên đồng ý và nhiệt tình với việc này, cho nên tôi đã không phổ biến Source Booster.

Hiện nay xu thế chung vẫn tập trung vào MPASM (ở đâu cũng học), HT PIC (chủ yếu anh em ở Hà Nội, do bác Bình Anh dẫn đầu), CCS C (anh em ở Sài Gòn, do Đăng phụ trách).

Còn lại, chưa thấy nhiều anh em đề nghị sử dụng các trình dịch khác. Thực ra, không ai sử dụng được hết tất cả các trình dịch, chỉ test một số điểm thôi. Kết quả, theo thông tin chúng tôi nhận được, và kiểm tra test, chúng tôi cho rằng phát triển CCS C và HT PIC là đã đủ công cụ cho PIC, và khi dịch ra mã MPASM, thì tôi đã kiểm tra nhiều lần, và bộ dịch của hai thằng này gần như như nhau. Một số cái HT PIC nhỉnh hơn hẳn, nhiều điểm tối ưu, nhưng về tính gần gũi với phần cứng, thì CCS C gần gũi hơn.

Ở các phiên bản cũ (đã hơn 1 năm nay tôi không đụng đến lập trình chip), thì bộ dịch CCS C có bị một số lỗi ở phần phép nhân, nhưng đó là những bộ dịch rất cũ rồi, từ thời 3.06x. Còn bây giờ, tôi nghĩ chắc không còn những lỗi đó nữa.

Bộ dịch CCS C mới nhất là phiên bản 3.236, và bộ dịch HT PIC mới nhất là 9.50PL. Cả hai bộ dịch này đều đã được cung câp tại picvietnam.

Vì lý do phát triển cộng đồng, tôi hy vọng rằng chúng ta có thể tập trung vào 2 ngôn ngữ này để cùng phát triển, và cùng chia sẻ với nhau. Nếu mỗi người đi một cách khác, thì có lợi về việc không bị phụ thuộc công nghệ về sau, nhưng nếu không đi chung, thì chúng ta chậm tiến.

Nhưng xem xét bước đi đó, thì tôi cho rằng, trong vòng 1,2 năm tới, chúng ta nên thống nhất làm việc trên CCS C và HT PIC, một khi chúng ta đã nắm vững nó rồi (ý ở đây là cả một cộng đồng đã có đầy đủ thư viện rồi), thì việc phát triển hoặc chuyển đổi sang những ngôn ngữ khác, lúc đó không còn khó khăn nữa.

Mong rằng anh em suy nghĩ về việc này, cùng tiến bước xâm nhập và đánh phá hoàn toàn những khó khăn, vướng mắc về PIC.

Chúc vui.

ThanhPhuc
18-12-2005, 02:32 PM
Theo em thì nên trang bị càng nhiều công cụ để các anh em tham khảo càng tốt .Hơn nửa chúng ta có thể học tập từ các ví dụ hoặc phong cách lập trình của từng trình dịch.Em học PIC ban đầu từ source Booster nhưng do chỉ có bản demo nên đành phải chuyển qua HT pic và CCS.Còn việc đánh giá và sử dụng là do các anh em trên diễn đàn.Chúc anh sức khỏe.

txt
10-02-2006, 11:22 AM
tổng kết :
_C đáp ứng tất cả yêu cầu cho VDK.
_C++ , với kiểu hướng đối tượng , theo tôi , chưa thể có hoặc có nhưng chưa thể ( chưa cần )sử dụng vì lý do tốc độ xử lý , độ phức tạp và . . .chưa thấy cần phải sử dụng , khi C đã giải quyết rốt ráo mọi vấn đề .
_CCS , HTPIC là lựa chọn tốt cho PIC <18 , nhưng hiện tại nó chưa hỗ trợ PIC 30 , 33 ,24 , . . .
_MPLAB C18 ,C30 của Microchip nâng cấp liên tục và kịp thời các dòng PIC mới nhưng rất rắc rối và khó dùng nên chưa thấy ai nói hay đề cập chi tiết về chúng ( mặc dù bản crack có đủ ) . Bởi vì đây là 1 trình biên dịch dựa theo đúng chuẩn C , kể cả phong cách lập trình , hàm , . . .chỉ hợp với những ai đã thành thạo ( và khá nữa ) lập trình C và cả C++ trên máy tính . Điều này khó cho những ai mới học .
_Mới học thì nên học C trước thay vì ASM thì sẽ không bao giờ nản . Trong quá trình học và viết chương trình , sẽ luôn cần xem mã dịch ASM của nó để đối chiếu với mã C. Khi đó sẽ quen dần ASM ngay . Tôi cũng bắt đầu học như vậy . Tôi ghét ASM kinh khủng .

chicn
30-03-2006, 06:41 PM
Tất cả mọi người đều học ASM trước khi học PIC CS chỉ có riêng bạn học C trước chắc hẳn bạn là người giỏi lập trình C lắm he.

Khoa
31-03-2006, 12:26 PM
nên học asm để viết chương trình điều khiển ,và nên dùng c để giải quyết các thuật toán ,tóm lại là kết hợp cả hai thì vô địch.

michicom
19-07-2006, 12:48 AM
tui nghĩ dùng c la đơn giản hơn asm đấy chứ

falleaf
19-07-2006, 04:44 AM
tổng kết :
_C++ , với kiểu hướng đối tượng , theo tôi , chưa thể có hoặc có nhưng chưa thể ( chưa cần )sử dụng vì lý do tốc độ xử lý , độ phức tạp và . . .chưa thấy cần phải sử dụng , khi C đã giải quyết rốt ráo mọi vấn đề .


Có C++ cho PIC, khi nào đúng lúc F sẽ phổ biến sau.

Chúc vui

hpecom
19-07-2006, 09:45 AM
Theo tôi được biết C++ có một số điểm hơn C như sau:
- Các hàm xuất nhập viết có phần đơn giản hơn. (cin; cout)
- Cho phép khai báo biến ở bất kỳ nơi nào.
- Cho phép viết hàm tùy ý mà không cần khai báo prototype trước.
Đó là Borland C, còn Visual C thì tôi không biết.

Nếu cần một lời khuyên thì tôi khuyên bạn nên bắt đầu từ C.
Khi bạn cài CCS C nó đã cài rất nhiều ví dụ vào máy. Bạn nên đọc những ví dụ đó thì hay hơn tất cả.

Theo tôi một điều rất quan trọng khi học lập trình mà trong các diễn đàn chưa thấy đề cập đó là GIẢI THUẬT. Nếu trong bạn đã có giải thuật thì việc dùng ngôn ngữ nào chỉ còn là sự tiện nghi và sở thích. Và nếu bạn muốn có giải thuật thì không có cách nào khác là phải viết thật nhiều, tự mình viết từ những bài tập đơn giản đến các bài tập nâng cao. Và để thuận tiện hơn cho việc rèn luyện giải thuật bạn có thể dùng BorlandC viết các bài tập C trên máy tính, không có gì dính đến vi điều khiển nhưng nó sẽ cho bạn giải thuật. Nếu bạn hỏi làm bài tập gì, ở đâu thì câu trả lời là ra nhà sách mua một cuốn Ngôn Ngữ Lập Trình C của Quách Tuấn Ngọc. Và phải cài BC3.1 vào máy.

Mong được cùng chia sẻ. Chúc mọi người ngày càng tiến bộ.
hpecom.

hieutq
19-07-2006, 10:44 PM
Tất cả mọi người đều học ASM trước khi học PIC CS chỉ có riêng bạn học C trước chắc hẳn bạn là người giỏi lập trình C lắm he.
Không phải ai cũng học ASM trước khi hoc PIC. Mình có thằng bạn nó không hề biết (biết rất kém) về ASM (nó không thể lập trình được = ASM) nhưng C hì nó đỉnh cao luôn, lập trình phát nao OK phát đó vì nó tiếp cận C lâu rồi. Có chỉ đọc chân, thanh ghi... rồi lập trình...

Còn mình thì thấy C dễ học và lập trình thích hơn ASM nhiều

totite
20-07-2006, 12:07 PM
Không phải ai cũng học ASM trước khi hoc PIC. Mình có thằng bạn nó không hề biết (biết rất kém) về ASM (nó không thể lập trình được = ASM) nhưng C hì nó đỉnh cao luôn, lập trình phát nao OK phát đó vì nó tiếp cận C lâu rồi. Có chỉ đọc chân, thanh ghi... rồi lập trình...

Còn mình thì thấy C dễ học và lập trình thích hơn ASM nhiều

Mình đồng ý với bạn là viết bằng C sẽ dễ hơn ASM nhiều, nhưng đối với người mới bắt học PIC thì nên viết bằng ASM, viết giỏi C lúc đầu không có nghĩ là nắm hết được phần cứng. Nếu chương trình của bạn không có lỗi logic mà có lỗi về thiết kế thì sao? Nếu chỉ biết Port pin, Register... để lập trình thì chắc không thể nào làm project lớn được. Nên bắt đầu từ phần gốc, không nên làm ngược lại.

ncv
22-07-2006, 08:52 AM
Debunking the Myth of High-level Languages
http://www.informit.com/articles/printerfriendly.asp?p=486104&rl=1

NThang
22-01-2008, 02:28 AM
Anh em trong diễn đàn tranh luận hay ghê. Tuy nhiên theo em thì nó không đến mức phải nói đến việc ASM hơn hay C hay hơn. Em chưa có dự án nào về PIC và mới bắt đầu thèm sài PIC cho vấn đề băm xung và điều chế xung cũng như tính toán 16 bit. Tuy nhien em đã viết nhiều bằng cả C và ASM cho AVR. Theo em cái nào cũng có ưu điểm cả, ASM gần gũi với phần cứng hơn, dễ hiểu hơn với từng câu lệnh và cho phép người viết cũng như người đọc hiểu hơn trong việc tương tác về mặt vi mô hơn. Do đó nó thích hợp cho người mới học và cho các project nhỏ. Trong khi đó, C đóng gói nhiều thao tác lại thành một lệnh, điều này cho thấy tính đóng gói cao cũng đồng nghĩ giúp cho việc lập trình đơn giản hơn nhưng việc hiểu từng thao tác mà phần cứng xử lý kém hơn do nhiều thao tác này đã gói lại tạo thành một chức năng nhất định rồi. Do đó nó thích hợp với mọi dự án, mọi giới , cả mới và cả cũ đều sài OK, duy chỉ có điều là tư duy lập trình tốt, và hiểu về chíp.

Một số luồn cho rằng, lập trình C++ dành cho PIC hai uP, điều này cũng không phải là hay lắm. Phải nói rằng C++ mang tính hướng đối tượng cao. Tuy nhiên với lập trình cho vi điều khiển phải hiểu rằng nó khác với lập trình ứng dụng trong computer. Lập trình hệ thống nó trần trụi hơn, vì thế nó cần xác định tính minh bạch cho từng nhiệm vụ dành cho chip. Điều đó nếu dùng C thì thoả mãn và rất đầy đủ. Trong khi dùng C++ thì sẽ không thể sử dụng hết các tiện ích của C++ được. Tôi có thể đảm bảo như vậy.

Vì thế, Hãy đến với C. Một ngôn ngữ tuyệt vời.

svn
22-01-2008, 05:52 PM
Hix, trong vài tháng qua làm lv, thành thật mà nói nhiều lúc mình đã ước giá mà có C++ cho PIC :( Nhiều trường hợp sự module hóa cao và riêng biệt rõ ràng có ưu thế, khả năng sử dụng lại dễ dàng, mà trong các project nhiều nhiều file source 1 tí thì sẽ thấy ngay :)
Mình làm tổng cộng 15 file cho project, chỉ để dễ quản lý và thói quen thôi :D, nhưng nếu có thể viết dc theo kiểu đối tượng thì sau này dùng lại vài cái trong này cũng đơn giản, khỏi phải sửa code nhiều.

ngohung.pro
21-02-2011, 11:07 PM
minh dang lam mach dieu khien led bang c++.noi dung :sang tat sen ke,sang don tat don,dem nhi phan va co nut nhan dieu khien ,neu nhan nut thi led se chay trang thai khac. mong cac pac giup minh voi.cam rat nhieu do!

ngohung.pro
21-02-2011, 11:08 PM
minh dang lam mach dieu khien led bang c++.noi dung :sang tat sen ke,sang don tat don,dem nhi phan va co nut nhan dieu khien ,neu nhan nut thi led se chay trang thai khac. mong cac pac giup minh voi.cam on rat nhieu do!