PIC Vietnam

Go Back   PIC Vietnam > Robotics > Matlab-Simulink & Labview & 20-Sim

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

Matlab-Simulink & Labview & 20-Sim Các công cụ mô phỏng đa ngành...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 15-03-2008, 10:38 PM   #1
thanh.danghong
Nhập môn đệ tử
 
Tham gia ngày: Jan 2007
Bài gửi: 10
:
Lập trình cho Microcontroller voi Matlab hay C

Chào các bạn, mình mới tham gia diễn đàn, mong được sự giúp đỡ của mọi người. Mình có một thắc mắc nhỏ nhờ mọi người giải đáp dùm.Theo mình được biết thì cho một số con Microcontroller(dspace,MPC555,...) ta có thể thiết kế trên Matlab rồi dùng chương trình tự động chuyển thành code C , rồi mã máy để chạy cho Microcontroller mà không cần phải viết code C trực tiếp. Các bạn có kinh nghiệm cho hỏi sự khác nhau, điểm mạnh, điểm yếu giữa 2 cách làm này. Theo suy nghĩ của mình thì đó có thể là:

- Dung lượng chương trình, tốc độ chương trình, thời gian trễ (một lần đi nghe thì hội Experte của Matlab nói là độ lớn code của 2 phương pháp là như nhau, không biết có đáng tin không hay chỉ để quảng cáo thế)

- Giá thành(giá Matlab, công lập trình), có phải vì lí do này mà ngoài công nghiệp người ta chủ yếu viết bằng C. Nhưng viết bằng C công lập trình lại lớn hơn.
thanh.danghong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-03-2008, 02:00 AM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi thanh.danghong View Post
Chào các bạn, mình mới tham gia diễn đàn, mong được sự giúp đỡ của mọi người. Mình có một thắc mắc nhỏ nhờ mọi người giải đáp dùm.Theo mình được biết thì cho một số con Microcontroller(dspace,MPC555,...) ta có thể thiết kế trên Matlab rồi dùng chương trình tự động chuyển thành code C , rồi mã máy để chạy cho Microcontroller mà không cần phải viết code C trực tiếp. Các bạn có kinh nghiệm cho hỏi sự khác nhau, điểm mạnh, điểm yếu giữa 2 cách làm này. Theo suy nghĩ của mình thì đó có thể là:

- Dung lượng chương trình, tốc độ chương trình, thời gian trễ (một lần đi nghe thì hội Experte của Matlab nói là độ lớn code của 2 phương pháp là như nhau, không biết có đáng tin không hay chỉ để quảng cáo thế)

- Giá thành(giá Matlab, công lập trình), có phải vì lí do này mà ngoài công nghiệp người ta chủ yếu viết bằng C. Nhưng viết bằng C công lập trình lại lớn hơn.
Tuỳ bạn làm việc trong môi trường nào. Matlab không chỉ mạnh ở cái công đoạn chuyển từ code Matlab sang C cho MCU mà Matlab họ còn bán cả bộ công cụ và cả hệ thống đi kèm ứng dụng công nghiệp. Việc phát triển phần biên dịch này được thúc đẩy mạnh từ phiên bản 2007a khi họ chính thức giới thiệu mô hình công nghiệp của họ.

Về độ tin cậy thì thực tế nhiều người viết Matlab và đổ sang các chip của TI thì nhìn thấy code rất dài. Có thể với những người lập trình Matlab chuyên nghiệp họ có thể viết được code tối ưu, nhưng chắc chắn C vẫn là cơ sở hiệu quả nhất.

Về giá thành, một bản Matlab nếu tính với chi phí ở nước ngoài thì thực sự không nhiều, thay vì tốn thêm nhân công cho việc lập trình C, tốn thêm thời gian vì viết code C lúc nào cũng dài hơn. Nhưng nói là dài hơn thế thôi, chứ thực ra khi viết code C đã quen, thì Matlab hay C cũng như nhau cả, một số thư viện thuật toán cũng đã có sẵn, chỉ trừ những bài toán quá phức tạp mà C hiện nay chưa có thư viện Opensource.

Điều nghịch lý xảy ra đó là, nếu một người đã hiểu rõ hệ thống thuật toán để tạo dựng nên hệ thống, thì việc viết lại thuật toán đó hoàn toàn không khó. Nhưng ở cấp độ nghiên cứu trước khi đi vào ứng dụng, thì rõ ràng là việc dùng Matlab để thí nghiệm nhanh hơn nhiều.

Matlab mới nhúng chân vào hệ thống công nghiệp chưa lâu, khoảng đầu năm 2007, tất nhiên họ đã có những thành công nhất định cho tới nay, nhưng với số năm kỹ sư đó của họ, liệu có thể nào so sánh với cả cộng đồng kỹ sư sử dụng C?

Vậy tóm lại, bạn có thể dùng, khi nào bạn là chủ một doanh nghiệp, bạn hãy suy nghĩ đến vấn đề này, nếu bạn là một kỹ sư, nhà nghiên cứu, Matlab tốt cho bạn để có những kết quả nhanh, vậy đừng lo ngại gì về nó cả. Tối ưu code hay không tối ưu code thì còn phải tuỳ vào khả năng của người lập trình nữa. Có khi code Matlab dài và thô như vậy, nhưng nếu bạn lập trình C không vững, bạn sẽ viết nên một đám rừng C (F đã từng chứng kiến một giáo sư muốn làm một phần mềm thương mại và giao cho một sinh viên thạc sĩ viết VC++ hỗn loạn tới mức F liên tục từ chối giúp đỡ vì không muốn bị... chập chập cheng cheng với cái mớ hỗn độn đó).

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-03-2008, 07:02 PM   #3
thanh.danghong
Nhập môn đệ tử
 
Tham gia ngày: Jan 2007
Bài gửi: 10
:
Cảm ơn bài trả lời chi tiết của bạn falleaf. Mình là sinh viên mới ra trường, chỉ vì băn khoăn muốn tìm hiểu thêm một chút. Mình mới lập trình trên Matlab một lần cho MCP555, và hiện tại đang mày mò để lập trình trên C cho dsp tms320f28335. Như bạn falleaf nói trên C có một số thư viện thuật toán có sẵn, vậy các bạn có thể chia sẻ cho mình với.

Mình làm trên MPC555 thì đó là viết bộ điều khiển cho một hệ cơ nhỏ. Đó không phải là hệ Multitasking. Theo những điều mình biết thì khi dùng Multitasking ta có thể biết trước(gần chính xác) đáp ứng của đầu ra so với đầu vào, điều này giúp ước lượng thời gian trễ của hệ ?? Mình muốn tìm hiểu xem ý nghĩa của Multitasking, và khi nào thì nên dùng nó.

Cảm ơn.
thanh.danghong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-03-2013, 02:58 PM   #4
svbachkhoa
Nhập môn đệ tử
 
Tham gia ngày: Jan 2013
Bài gửi: 4
:
Nhân tiện cho em hỏi thêm . Matlab có thể xuất ra code c cho dòng pic 18f không? hay có thể dùng matlab điều khiển pic qua cổng com luôn, không cần viết c ?
Cám ơn mọi người .
svbachkhoa vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-03-2013, 09:42 AM   #5
osc_tech
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 5
:
Mình cũng đang học Matlab, nó rất hữu ích.
__________________
www.ecapro.com.vn
osc_tech vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 06:39 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