PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 20-11-2009, 05:31 PM   #1
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Nên lựa chọn trình dịch C nào?

Lập trình cho VĐK có thể coi gồm 2 công việc là lập trình cấu hình/sử dụng các module ngoại vi và lập trình thể hiện ý tưởng giải thuật để thực hiện công việc nào đó.

Vấn đề về ý tưởng giải thuật, ví dụ kiểm tra nút bấm, bật LED, chờ 100ms tắt LED.. thực hiện trên ngôn ngữ C dĩ nhiên đơn giản hơn nhiều so với ASM.

Và sự đơn giản này là cần thiết vì bản chất của công việc lập trình là thể hiện ý tưởng, nếu bạn phải tốn thì giờ để viết các đoạn mã chỉ để thực hiện các cấu trúc "if else", biểu thức so sánh, cộng trừ nhân chia nhiều byte... thì quả thực phí phạm. Đó là chưa kể khó khăn khi debug và chia sẻ code. Nhìn chung về sử dụng, C có nhiều điểm ưu việt hơn ASM. Chúng ta nên chọn C là ngôn ngữ chính để làm việc. Vấn đề là chọn lựa ngôn ngữ nào?

Các thư viện ngoại vi, mỗi ngôn ngữ C có 1 hướng hỗ trợ khác nhau.
* HT-PICC, MCC18, MPLAB C30, MPLAB C32 nói chung đều cung cấp 1 dạng thư viện có thể gọi là thư viện gợi nhớ. Các trình dịch này đặt tên gợi nhớ cho các bit cấu hình của các module ngoại vi, công việc của bạn là phải biết các bit này có tác dụng gì, phải sử dụng ra sao, kết hợp như thế nào. Do đó sử dụng cần kiến thức về phần cứng. Ưu điểm đầu tiên là cập nhật cực nhanh, vì mỗi khi có chip hoặc tính năng mới chỉ thêm một số định nghĩa thanh ghi, bit, ngắt...Ngoài ra đây là các trình dịch bám sát chuẩn ANSI nên bạn dễ dàng port code từ các họ chip khác sang cho PIC và giữa các họ PIC với nhau.

* CCS C hỗ trợ 1 bộ thư viện cứng, che hoàn toàn kiến trúc VĐK. Có thể gọi CCS C là BASIC C vì sử dụng nó quá đơn giản. Khi lập trình bạn chỉ cần file help của CCS C là có thể làm thoải mái, và làm rất nhanh. Nhưng cũng vì vậy mà mỗi khi có chip mới, tính năng mới, chúng ta lại phải chờ CCS cập nhật, quá trình cập nhật này cũng khá lâu vì họ phải tích hợp code cho tính năng mới. Chưa kể thư viện ngoại vi của CCS ko tương thích với bất kỳ trình dịch nào khác, do đó khá khó khăn khi port code.

Nếu bỏ qua ưu điểm là sự đơn giản, thì CCS C có rất những điểm bất lợi khó bỏ qua:
* Vì không tương thích, một mình một cõi nên CCS C ko thể dịch các thư viện USB, TCP/IP, Zigbee, MiWi, Graphic... của Microchip cũng như rất nhiều thư viện opensource trên Net. Đây là vấn đề rất quan trọng nếu bạn sử dụng PIC18 trở lên vì các thư viện của Microchip được cập nhật liên tục để hỗ trợ chip mới và tính năng mới, các thư viện của CCS ko thể so sánh được.
* Khi bắt buộc phải chuyển đổi thì công sức bạn bỏ ra để chuyển đổi code là khá lớn.
* Ngoài ra khi đã quen sử dụng, nếu gặp rắc rối cần debug bạn sẽ khá khó khăn vì ko quan tâm đến cấu trúc phần cứng.

Chính vì vậy, R&P chọn HT-PICC thay vì CCS C để sử dụng trong các lớp học PIC16F để giúp học viên quen với 1 cách làm việc "hợp chuẩn hơn" ngay khi mới bắt đầu làm quen với PIC.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam