Quản lý và build Project bằng Visual C++.Net

Collapse
This is a sticky topic.
X
X
 
  • Giờ
  • Show
Clear All
new posts
  • ngohaibac
    Đệ tử 9 túi
    • Oct 2005
    • 231

    #1

    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ã .

    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: [COLOR="Red"]"c:\program files\HT-PICC\BIN\PICC.EXE" [/COLOR]-C -E[COLOR="Red"]"main.cce"[/COLOR] "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A
    
    Executing: "c:\program files\HT-PICC\BIN\PICC.EXE" -C -E[COLOR="Red"]"UART.cce"[/COLOR] "UART.c" -O"UART.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A
    
    Executing: "c:\program files\HT-PICC\BIN\PICC.EXE" -E[COLOR="Red"]"UART.lde"[/COLOR] "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[COLOR="Red"]"UART.hex"[/COLOR] -Q -MPLAB -16F877A
    khi đó mình tóm lược lại thành:
    Code:
    [B]"c:\program files\HT-PICC\BIN\PICC.EXE"[/B] -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -[B]16F877A[/B]
    
    "c:\program files\HT-PICC\BIN\PICC.EXE" -C -E"UART.cce" "UART.c" -O"UART.obj" -Zg9 -O -ASMLIST -Q -MPLAB -[B]16F877A[/B]
    
    "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 -[B]16F877A[/B]
    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

    Chúc các bạn thành công.
    www.ngohaibac.net
    www.ngohaibac.com
  • ngohaibac
    Đệ tử 9 túi
    • Oct 2005
    • 231

    #2
    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.
    www.ngohaibac.net
    www.ngohaibac.com

    Comment

    • ngohaibac
      Đệ tử 9 túi
      • Oct 2005
      • 231

      #3
      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ỉ .

      Bạn dơnload manual tại đây:


      Chúc các bạn thành công.
      www.ngohaibac.net
      www.ngohaibac.com

      Comment

      • ngohaibac
        Đệ tử 9 túi
        • Oct 2005
        • 231

        #4
        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 "[B]main.c[/B]" -fo="[B]main.o[/B]" -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\[B]18f2620.lkr[/B]" "main.o" /m"IO_C18.map" /w /o"[B]IO_C18.cof[/B]"
        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.
        www.ngohaibac.net
        www.ngohaibac.com

        Comment

        • inventor_bk
          Đệ tử 1 túi
          • Mar 2008
          • 15

          #5
          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.

          Comment

          • tranthudo
            Nhập môn đệ tử
            • Mar 2008
            • 6

            #6
            Đố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.

            Comment

            • hungnguyen1112
              Nhập môn đệ tử
              • Dec 2010
              • 3

              #7
              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

              Comment

              • hungnguyen1112
                Nhập môn đệ tử
                • Dec 2010
                • 3

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

                Comment

                Working...