PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Quản lý và build Project bằng Visual C++.Net (http://www.picvietnam.com/forum/showthread.php?t=1308)

ngohaibac 19-07-2007 11:40 PM

Quản lý và build Project bằng Visual C++.Net
 
Chào các bạn.

Các bạn dùng qua Visual C++ 6.0 và Visual C++.Net đều thấy tác dụng quản lý Project và gợi ý code rất là hay. Khi dùng ta sẽ không sợ quên hàm này, hàm kia.Quản lý được cả một Project to vật vã :D.

Sau đây xin hướng dẫn các bạn quản lý và build một Project cho PIC16F877A với trình dịch HTPIC bằng Visual C++.Net.

Để làm điều này, đầu tiên bạn phải dịch qua một Project đơn giản bằng MPLAB với trình dịch HTPIC đó. Sẽ hiểu ra vấn đề.

Project của mình có các file sau: main.c, UART.c, UART.h. Tên Project là UART

Khi mình dịch một Project mình thấy nó thực hiện các command sau:

Code:

Executing: "c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

Executing: "c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"UART.cce" "UART.c" -O"UART.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

Executing: "c:\program files\HT-PICC\BIN\PICC.EXE" -E"UART.lde" "G:\My Projects\PIC_Projects\PIC16F877A\UART\main.obj" "G:\My Projects\PIC_Projects\PIC16F877A\UART\UART.obj" -M"UART.map" -O"UART.cof" -O"UART.hex" -Q -MPLAB -16F877A

khi đó mình tóm lược lại thành:
Code:

"c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

"c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"UART.cce" "UART.c" -O"UART.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

"c:\program files\HT-PICC\BIN\PICC.EXE" -E"UART.lde" "main.obj" "UART.obj" -M"UART.map" -O"UART.cof" -O"UART.hex" -Q -MPLAB -16F877A

Như vậy 16F877A là tên của chip mà mình muốn dịch. Dòng đầu tiên chính là dịch ra file main.obj, dòng 2 dịch ra file uart.obj, dòng 3 dịch ra file UART.hex là xong.

Vậy có bao nhiêu file .c thì có bấy nhiêu lệnh như dòng đầu tiên. Còn dòng cuối cùng là kế hợp để tạo ra file .Hex.

Chi tiết mời bạn xem manual của các trình dịch phần command line tại trang http://htsoft.com.

(còn tiếp) - vì chờ upload hình minh họa :D

Chúc các bạn thành công.

ngohaibac 20-07-2007 12:22 AM

Tiếp theo, bạn mở Visual Studio 2005 lên nhé. Và làm theo hướng dẫn.

Hình 1: Vào File -> New Project


Hình 2: Chọn MakeFile Project và nơi lưu file


Hình 3: Make File Application Wizard


Khi đó bạn quan tâm đến 3 ô trống:
  • Build command line
  • Clear command
  • Rebuild command line
  • Include search path

Build command line:
sẽ thực hiện các lệnh trong ô trống này khi nhấn vào Buidl -> Build.

Bạn điền vào nội dung như bài 1:
Code:

"c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

"c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"UART.cce" "UART.c" -O"UART.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

"c:\program files\HT-PICC\BIN\PICC.EXE" -E"UART.lde" "main.obj" "UART.obj" -M"UART.map" -O"UART.cof" -O"UART.hex" -Q -MPLAB -16F877A

Rebuild command line thì tương tự như thế .

Include search path là tên đường dẫn đến thư mục Include của trình biên dịch HTPIC. Với máy mình là: C:\Program Files\HT-PICC\include

Sau đó các bạn thêm các file vào Project và dịch bình thường như làm với MPLAB.

Sau khi đã tạo Project bạn muốn thay đổi lại command thì làm như sau:



Chúc các bạn thành công.

ngohaibac 20-07-2007 12:32 AM

Như vậy, quan trọng nhất của việc dùng Visual C++ là các bạn phải biết được nội dung của command line để biên dịch nhé.

Do đó, bây giờ có lẽ chúng ta chỉ thảo luận về cái này nhỉ :D.

Bạn dơnload manual tại đây:
http://htsoft.com/downloads/manuals.php

Chúc các bạn thành công.

ngohaibac 20-07-2007 10:48 AM

C18
 
C18 mình cài vào thư mục:
C:\Program Files\Microchip\MPLAB C18\

Với C18 bạn dùng build command line sau:
Code:

"C:\Program Files\Microchip\MPLAB C18\bin\mcc18.exe" -p=18F2620 "main.c" -fo="main.o" -w3 -Oa -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Để biên dịch các file .c mà chúng ta code. Lặp lại dòng này chỉ thay main.c bằng tên các file khác thôi.

Code:

"C:\Program Files\Microchip\MPLAB C18\bin\mplink.exe" /l"C:\Program Files\Microchip\MPLAB C18\lib" "C:\Program Files\Microchip\MPLAB C18\lkr\18f2620.lkr" "main.o" /m"IO_C18.map" /w /o"IO_C18.cof"
Còn đây là lệnh cuối cùng.

Rebuild command line cũng giống như trên.

Còn search path thì thêm vào các dòng :
Code:

C:\Program Files\Microchip\MPLAB C18\h
C:\Program Files\Microchip\MPLAB C18\lib

Chúc các bạn thành công.

inventor_bk 24-02-2009 11:58 PM

Chào anh, vì em đang cần gấp về cái giao tiếp giữa máy tính với vi điều khiển qua cổng USB nên em hỏi anh vấn đề này chút. Em thử giao tiếp với VDK thông qua cổng com bằng visual C++ và matlab đều được . Nhưng trên máy tính sách tay lại không có cổng com. Bây giờ em muốn truyền tín hiệu ra cổng USB nhưng chưa hiểu lắm về cách truyền này. Anh có thể giải thích cho em chút được không ạ. Trong Matlab có hàm nào hỗ trợ mở cổng hay đọc cổng... như cổng com không. Em nghe nói pic 18f4550 có hỗ trợ cổng USB thì có phải mình thiết kế với cổng USB rồi đọc dữ liệu vào như chân RX của các VDK khi giao tiếp với com không. Anh giúp em với. Cảm ơn anh nhiều.

tranthudo 19-12-2009 05:00 AM

Đối với 30 thì sao hả anh Bắc, có cách nào ko e mò mãi không ra, mà dùng trên VC++ 2008 thì thế nào.

hungnguyen1112 13-12-2010 11:24 PM

Chào anh! anh có mạch "thiết kế con tắt xoay chiều cách li, điều khiển bằng tín hiệu số sử dụng BTA và MOC" ko? cho e voi. thanks

hungnguyen1112 13-12-2010 11:27 PM

sủ dung protues ngen a! e thứ 6 ngay 17 thang 12 nay phai nộp rui đó. huhu


Múi giờ GMT. Hiện tại là 03:22 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