Thông báo

Collapse
No announcement yet.

CCS PIC-C v5.xxx đã phát hành

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Nguyên văn bởi duong_act Xem bài viết
    Mình vã cả 3 thằng HTPIC, CCS, Mikro nhưng chủ yếu dùng CCS.
    HTPIC thì tối ưu mã nhưng chả có cái gì sất. Muốn viết cái gì lại mò datasheet xem thanh ghi, build hàm nhọc chết mợ. Nhiều khi build hàm còn mất nhiều ROM,RAM hơn cả CCS.
    Mikro C thì làm nhanh vì nó hỗ trợ help, thư viện nhưng thư viện thiếu, lại phải lọc cọc build i như thằng HT. Việc include file thì lôm côm, lúc được lúc không @@. Nếu chỉ chơi với thư viện của nó thì OK. Nhiều lúc hay làm việc cà tưng @@
    CCS thì hỗ trợ gần hết ( cũng chưa biết thiếu phần nào ) các hàm giao tiếp điều khiển ngoại vi nên làm việc cũng nhẹ nhàng, include và build hàm dễ dàng. Phải cái nó cứ cẩn thận quá nhồi thêm linh tinh vào làm cái hex nó to ra nhìn nó hơi chướng mắt. Lại còn hay hiện warning vớ vẩn @@.
    Mỗi cái có điểm mạnh yếu khác nhau. Tùy từng lúc mà dùng thôi
    --- Cái đỏ : đó là sử dụng không sâu về nó , hoặc dùng " thuốc rởm" ( chứ include không hề bị lôm côm , trình dịch chạy tương đối tốt và khá hiệu quả)

    --- Cái xanh : Chú em thử mang cái màn hình cảm ứng TFT ( 4- 5 inch ) ... làm việc với CCS xem hay đơn giản là 128x64 có cảm ứng thôi !

    + thử thêm mấy con chip phát triển về Ethernet , thẻ nhớ FAT32 xem sài CCS và MikroC cái nào ngon hơn

    --- Nói về thư viện thì mikroC vô địch đó chứ ( nó có khoảng hơn 500 thư viện có sẵn ) ... chứ CCS được mấy cái ?

    ( Điểm đặc biệt của mikroC là có thể share ... mà không sợ mất mã nguồn ... trên thế giới chỉ có mỗi thằng mikroC có cái này thôi ... còn hình như chưa trình dịch nào có ) !
    ( còn vài cái khác cũng rất hay ... mà phải khai thác có chiều sâu, có sự so sánh ( dùng nhiều compiler mới biết được )
    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

    Comment


    • #17
      Vừa đọc qua một chút về các trình dịch C cho PIC (phổ biến), thấy thằng CCS đi hướng khác so với các thằng kia (cái này hồi xưa nhìn ra rồi, giờ lại quên :P).
      Các trình dịch khác thao tác thanh ghi, còn CCS thao tác hàm (và các định nghĩa).

      Không biết các trình dịch khác khi thay đổi chip thì làm thế nào, còn với CCS thì chỉ đơn giản là sửa một vài dòng lệnh.
      Ví dụ 16F723A sang 18F26K22 thì đổi #include <16F723A.h> thành #include <18F26K22.h>, nếu may mắn thì không phải sửa gì nữa.

      Về thư viện của CCS, nó nằm trong thư mục C:\Program Files\PICC\Drivers chứ không chỉ là các built-in function. Bác queduong thử tìm trong đó xem có mấy cái bác cần không nhé

      Comment


      • #18
        Nguyên văn bởi KnowMore Xem bài viết
        Vừa đọc qua một chút về các trình dịch C cho PIC (phổ biến), thấy thằng CCS đi hướng khác so với các thằng kia (cái này hồi xưa nhìn ra rồi, giờ lại quên :P).
        Các trình dịch khác thao tác thanh ghi, còn CCS thao tác hàm (và các định nghĩa).

        Không biết các trình dịch khác khi thay đổi chip thì làm thế nào, còn với CCS thì chỉ đơn giản là sửa một vài dòng lệnh.
        Ví dụ 16F723A sang 18F26K22 thì đổi #include <16F723A.h> thành #include <18F26K22.h>, nếu may mắn thì không phải sửa gì nữa.

        Về thư viện của CCS, nó nằm trong thư mục C:\Program Files\PICC\Drivers chứ không chỉ là các built-in function. Bác queduong thử tìm trong đó xem có mấy cái bác cần không nhé

        tìm mòn mắt nhiều lần rồi ... nhưng không có cái cần dùng ( nhất là mấy cái Visual design ) ... mấy cái nút bấm , check box .v..v trên màn cảm ứng đó ... CCS khóc thét !

        --- MikroC cũng chẳng cần đổi gì cả ... chỉ việc kích chuột , chọn chip mới thay vào vị trí chip cũ là xong . ( thay vì phải gõ tên như CCS )

        Thậm chí ngay cái code đó ( ví như Code của PIC ... nhưng dùng sang AVR , 8051 , dspic ... ) cũng được luôn ( và 99% là không đổi ) ... nếu lựa chọn build ra thư viện thì ... chẳng cần thay đổi gì hết .

        Nếu cần sử dụng AVR với thư viện đã tạo đó ... thì chỉ việc cài đặt nó vào ... thế là sài được .

        Biết được mikroC for PIC ... cũng đồng nghĩa ... biết lập trình 8051 , AVR , dspic , ARM ... mà chẳng cần phải học nhiều ( 1 ngày là xong hết ) . vì tất cả bọn chúng có môi trường , câu lệnh ...99 - 100% là đều như nhau !!!
        khỏi phải nói CCS thì chắn chắn không có cái đó rồi ! .

        MikroC mạnh về phát triển thư viện riêng + đa năng trong việc " kế thừa " ... bạn chỉ viết 1 thư viện ... mà dùng tất cho 8051 , AVR , PIC , ARM ... chẳng sao cả ! Thậm chí bạn chẳng cần viết thư viện riêng ...

        cứ làm project của mình ... khi build tự nó cũng ra thư viện ... ( với cơ chế Nhân bản và khả năng " tương thích " này ... với những hàm mở rộng bên trong chương trình, hay hàm riêng .... đã tạo ra thư viện Bạn có thể lấy những compiler khác của hãng ( mikroe ) sài cái thư viện đó cũng được luôn !

        --- hoặc bạn cũng có thể share cho người khác cái thư viện đó ... mà họ chẳng bao giờ nhìn thấy " mã nguồn " của bạn viết cái gì ... họ chỉ " ứng dụng " mà thôi .

        Như CCS, HTPIC mà share code chắc người ta nhìn thấy hết luôn cách thức viết lách , giải thuật thế nào
        Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

        Comment


        • #19
          Cái CCS cũng có Encrypt bác Dương ợ.
          Bác đã viết trương trình lớn nhất bao nhiêu kB bằng MikroC rồi? Em thấy đồn nó không tốt khi biên dịch chương trình lớn


          Đây là một ví dụ nhỏ về chương trình dùng CCS:
          Dùng PIC16F684 xuất xung 1kHz ra chân A0 bằng phần mềm, dao động nội
          Chương trình C của mình thì coi như tối ưu rồi nhé :P

          Code:
          #Include <16F684.h>
          #Fuses   INTRC,noWDT,noPUT,BROWNOUT,noWDT,MCLR
          #Use  Fast_IO(ALL)
          //
          Void Main()
          {
             setup_oscillator(osc_4MHz);
             set_tris_A(~1);
             while(true)
               {
                delay_cycles(500);
                output_toggle(pin_A0);
               }
          }

          Tốn 32-word ROM và 4-byte RAM.

          C/ASM List như bên dưới
          Code:
          CCS PCM C Compiler, Version 4.140, 50574               27-Aug-13 01:04
          
                         Filename:   D:\Temp\Example-16F684.lst
          
                         ROM used:   32 words (2%)
                                     Largest free fragment is 2016
                         RAM used:   4 (3%) at main() level
                                     4 (3%) worst case
                         Stack:     0 locations
          
          *
          0000:  MOVLW  00
          0001:  MOVWF  PCLATH
          0002:  GOTO   Main
          0003:  NOP
          .................... #Include <16F684.h> 
          .................... //////// Standard Header file for the PIC16F684 device //////////////// 
          .................... #device PIC16F684 
          .................... #list 
          ....................  
          .................... #Fuses   INTRC,noWDT,noPUT,BROWNOUT,noWDT,MCLR 
          .................... #Use  Fast_IO(ALL) 
          .................... // 
          .................... Void Main() 
          .................... { 
          0004:  CLRF   FSR         //đặt mặc định FSR=0; FSR là thanh ghi truy xuất gián tiếp - indirect access
          0005:  MOVLW  1F
          0006:  ANDWF  STATUS,F    //STATUS&=0x1F - xóa 3 bit cao của thanh ghi STATUS
          0007:  BCF    ADCON0.-    //xóa bit VCFG - Vref=VDD - một việc làm vô nghĩa
          0008:  MOVLW  00
          0009:  BSF    STATUS.RP0
          000A:  MOVWF  ANSEL       //ANSEL=0x00 - hữu ích, vì mặc định nó là 0xFF - Analog
          000B:  BCF    STATUS.RP0
          000C:  CLRF   CMCON1      //CMCON1=0 - không cần thiết
          000D:  MOVLW  07
          000E:  MOVWF  CMCON0      //CMCON0=7 - Comparator Off - chế độ tiết kiệm nguồn nhất
          ....................    setup_oscillator(osc_4MHz); 
          000F:  MOVLW  61
          0010:  BSF    STATUS.RP0
          0011:  MOVWF  OSCCON
          0012:  MOVF   OSCCON,W
          ....................    set_tris_A(~1); 
          0013:  MOVLW  FE
          0014:  MOVWF  TRISA
          ....................    while(true) 
          ....................      { 
          ....................       delay_cycles(500); 
          0015:  MOVLW  A6
          0016:  BCF    STATUS.RP0
          0017:  MOVWF  @20
          0018:  DECFSZ @20,F
          0019:  GOTO   018
          001A:  NOP
          ....................       output_toggle(pin_A0); 
          001B:  MOVLW  01
          001C:  XORWF  PORTA,F
          ....................      } 
          001D:  BSF    STATUS.RP0
          001E:  GOTO   015
          .................... } 
          001F:  SLEEP
          
          Configuration Fuses:
             Word  1: 3FF5   INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD BROWNOUT IESO FCMEN
          p/s: post xong cái ví dụ mới thấy hâm dữ, đi ngủ có phải ngon hơn rồi không
          Last edited by KnowMore; 27-08-2013, 20:10.

          Comment


          • #20
            Mà tiện thể, bác queduong đang dùng MikroC phiên bản bao nhiêu thế? Đá luôn qua cho em đi

            Comment


            • #21
              Nguyên văn bởi KnowMore Xem bài viết
              Cái CCS cũng có Encrypt bác Dương ợ.
              Bác đã viết trương trình lớn nhất bao nhiêu kB bằng MikroC rồi? Em thấy đồn nó không tốt khi biên dịch chương trình lớn


              Đây là một ví dụ nhỏ về chương trình dùng CCS:

              Chương trình C của mình thì coi như tối ưu rồi nhé :P

              Code:
              #Include <16F684.h>
              #Fuses   INTRC,noWDT,noPUT,BROWNOUT,noWDT,MCLR
              #Use  Fast_IO(ALL)
              //
              Void Main()
              {
                 setup_oscillator(osc_4MHz);
                 set_tris_A(~1);
                 while(true)
                   {
                    delay_cycles(500);
                    output_toggle(pin_A0);
                   }
              }

              Tốn 32-word ROM và 4-byte RAM.

              C/ASM List như bên dưới
              Code:
              CCS PCM C Compiler, Version 4.140, 50574               27-Aug-13 01:04
              
                             Filename:   W:\0_CurWork\2.PANA\Tiny Jobs\Controller-0305LCD\Example-16F684.lst
              
                             ROM used:   32 words (2%)
                                         Largest free fragment is 2016
                             RAM used:   4 (3%) at main() level
                                         4 (3%) worst case
                             Stack:     0 locations
              
              *
              0000:  MOVLW  00
              0001:  MOVWF  PCLATH
              0002:  GOTO   Main
              0003:  NOP
              .................... #Include <16F684.h> 
              .................... //////// Standard Header file for the PIC16F684 device //////////////// 
              .................... #device PIC16F684 
              .................... #list 
              ....................  
              .................... #Fuses   INTRC,noWDT,noPUT,BROWNOUT,noWDT,MCLR 
              .................... #Use  Fast_IO(ALL) 
              .................... // 
              .................... Void Main() 
              .................... { 
              0004:  CLRF   FSR         //đặt mặc định FSR=0; FSR là thanh ghi truy xuất gián tiếp - indirect access
              0005:  MOVLW  1F
              0006:  ANDWF  STATUS,F    //STATUS&=0x1F - xóa 3 bit cao của thanh ghi STATUS
              0007:  BCF    ADCON0.-    //xóa bit VCFG - Vref=VDD - một việc làm vô nghĩa
              0008:  MOVLW  00
              0009:  BSF    STATUS.RP0
              000A:  MOVWF  ANSEL       //ANSEL=0x00 - hữu ích, vì mặc định nó là 0xFF - Analog
              000B:  BCF    STATUS.RP0
              000C:  CLRF   CMCON1      //CMCON1=0 - không cần thiết
              000D:  MOVLW  07
              000E:  MOVWF  CMCON0      //CMCON0=7 - Comparator Off - chế độ tiết kiệm nguồn nhất
              ....................    setup_oscillator(osc_4MHz); 
              000F:  MOVLW  61
              0010:  BSF    STATUS.RP0
              0011:  MOVWF  OSCCON
              0012:  MOVF   OSCCON,W
              ....................    set_tris_A(~1); 
              0013:  MOVLW  FE
              0014:  MOVWF  TRISA
              ....................    while(true) 
              ....................      { 
              ....................       delay_cycles(500); 
              0015:  MOVLW  A6
              0016:  BCF    STATUS.RP0
              0017:  MOVWF  @20
              0018:  DECFSZ @20,F
              0019:  GOTO   018
              001A:  NOP
              ....................       output_toggle(pin_A0); 
              001B:  MOVLW  01
              001C:  XORWF  PORTA,F
              ....................      } 
              001D:  BSF    STATUS.RP0
              001E:  GOTO   015
              .................... } 
              001F:  SLEEP
              
              Configuration Fuses:
                 Word  1: 3FF5   INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD BROWNOUT IESO FCMEN
              p/s: post xong cái ví dụ mới thấy hâm dữ, đi ngủ có phải ngon hơn rồi không
              Mình dùng >100K với PIC18 và 400K với dspic33 ( những chương trình lớn hơn mà không dùng ROM RAM ngoài thì dùng MCU hãng khác chứ không sài của microchip)

              ---- Cũng chương trình như trên ... MikroC Pro 6.0 tốn 29 words rom và 4 bytes ram !

              Nguyên văn bởi KnowMore Xem bài viết
              Mà tiện thể, bác queduong đang dùng MikroC phiên bản bao nhiêu thế? Đá luôn qua cho em đi
              Bạn có thể vào trang chủ của nó download về !
              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

              Comment


              • #22
                em đang lò mò microc for avr ( thấy nó có cả microc for pic, 8051) quá tiện. biết một là sẽ được cả 3. nhưng mà trình thấp thấy ví dụ mẫu của nó giờ muốn viết thành chương trình theo của mình mà chưa viết được. bác nào có thể dạy em với ạ, em xin cảm ơn.

                Comment


                • #23
                  Nguyên văn bởi queduong Xem bài viết
                  Bạn có thể vào trang chủ của nó download về !
                  Hqua em download từ trang chủ của nó, lỗi 3, 4 lần, chán quá bỏ luôn

                  Comment


                  • #24
                    Nguyên văn bởi KnowMore Xem bài viết
                    Hqua em download từ trang chủ của nó, lỗi 3, 4 lần, chán quá bỏ luôn
                    đang bị hỏng mạng nên không up lên được ... file zip nó có chưa đến 30MB à ! ( trang web của nó vẫn down bình thường đấy chứ )! ... vừa test thử !
                    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                    Comment


                    • #25
                      Nguyên văn bởi queduong Xem bài viết
                      đang bị hỏng mạng nên không up lên được ... file zip nó có chưa đến 30MB à ! ( trang web của nó vẫn down bình thường đấy chứ )! ... vừa test thử !
                      Em đã download một bản từ 4shared (chưa kiểm tra). Tốc độ download từ MikroE vẫn supper rùa.
                      Bác có cái ấy ấy thì up lên cho em với

                      Comment


                      • #26
                        Nguyên văn bởi queduong Xem bài viết
                        --- Cái đỏ : đó là sử dụng không sâu về nó , hoặc dùng " thuốc rởm" ( chứ include không hề bị lôm côm , trình dịch chạy tương đối tốt và khá hiệu quả)

                        --- Cái xanh : Chú em thử mang cái màn hình cảm ứng TFT ( 4- 5 inch ) ... làm việc với CCS xem hay đơn giản là 128x64 có cảm ứng thôi !

                        + thử thêm mấy con chip phát triển về Ethernet , thẻ nhớ FAT32 xem sài CCS và MikroC cái nào ngon hơn

                        --- Nói về thư viện thì mikroC vô địch đó chứ ( nó có khoảng hơn 500 thư viện có sẵn ) ... chứ CCS được mấy cái ?

                        ( Điểm đặc biệt của mikroC là có thể share ... mà không sợ mất mã nguồn ... trên thế giới chỉ có mỗi thằng mikroC có cái này thôi ... còn hình như chưa trình dịch nào có ) !
                        ( còn vài cái khác cũng rất hay ... mà phải khai thác có chiều sâu, có sự so sánh ( dùng nhiều compiler mới biết được )
                        Ở đâu mà 500 thư viện có sẵn bác chỉ em với @@. Mò mỗi cái thư viện Power_PWM cho 18F4431 mà chả thấy. Giờ mà cứ động đến build thư viện là muốn đi ngủ rồi
                        Dĩ nhiên thằng Compiler nào cũng có điểm mạnh điểm yếu nên nó vẫn tồn tại. Có cái là tùy từng lúc mà dùng thôi

                        Comment


                        • #27
                          Nguyên văn bởi duong_act Xem bài viết
                          Ở đâu mà 500 thư viện có sẵn bác chỉ em với @@. Mò mỗi cái thư viện Power_PWM cho 18F4431 mà chả thấy. Giờ mà cứ động đến build thư viện là muốn đi ngủ rồi
                          Dĩ nhiên thằng Compiler nào cũng có điểm mạnh điểm yếu nên nó vẫn tồn tại. Có cái là tùy từng lúc mà dùng thôi
                          hic hơn 500 thư viện nó tương ứng với từng loại chip cậu ạ ... Ví dụ như thằng nào có Ethernet thì nó mới có chức năng đó
                          ( sử dụng Packet manager quan sát là biết ngay thôi )

                          PIC18F4431 thư viện PWM nó nằm sờ sờ ra đấy ... dùng mikroC rất dễ nhưng phải là thằng am hiểu và biết sài .
                          Thư viện của nó chỉ viết những cái chung nhất ... những cái tinh xảo ... thì tự chèn thêm vào .

                          VD như thằng ADC của nó ( mặc định là sử dụng Vref là VCC và GND ... ) giờ muốn sử dụng là Vref ngoài thì phải thêm lệnh Vref ngoài ( trong tài liệu của nó không có nói đâu )

                          Đây là do trình độ khai thác và sử dụng + cả am hiểu phần cứng nữa ... còn không mà cứ sài thư viện của nó ... thì nó cho gì biết nấy thôi ... việc dùng như vậy thì đúng là chỉ dành cho những đứa mới học , không am hiểu nhiều mà thích mì ăn liền !
                          Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                          Comment


                          • #28
                            Nguyên văn bởi queduong Xem bài viết
                            hic hơn 500 thư viện nó tương ứng với từng loại chip cậu ạ ... Ví dụ như thằng nào có Ethernet thì nó mới có chức năng đó
                            ( sử dụng Packet manager quan sát là biết ngay thôi )

                            PIC18F4431 thư viện PWM nó nằm sờ sờ ra đấy ... dùng mikroC rất dễ nhưng phải là thằng am hiểu và biết sài .
                            Thư viện của nó chỉ viết những cái chung nhất ... những cái tinh xảo ... thì tự chèn thêm vào .

                            VD như thằng ADC của nó ( mặc định là sử dụng Vref là VCC và GND ... ) giờ muốn sử dụng là Vref ngoài thì phải thêm lệnh Vref ngoài ( trong tài liệu của nó không có nói đâu )

                            Đây là do trình độ khai thác và sử dụng + cả am hiểu phần cứng nữa ... còn không mà cứ sài thư viện của nó ... thì nó cho gì biết nấy thôi ... việc dùng như vậy thì đúng là chỉ dành cho những đứa mới học , không am hiểu nhiều mà thích mì ăn liền !
                            Ý em là Power PWM chứ không phải PWM thường ( CCP ). Tra google thấy bảo nó chưa hỗ trợ Power PWM. Nản, chả lẽ lại ngồi build @@

                            Comment


                            • #29
                              Nguyên văn bởi KnowMore Xem bài viết
                              Em đã download một bản từ 4shared (chưa kiểm tra). Tốc độ download từ MikroE vẫn supper rùa.
                              Bác có cái ấy ấy thì up lên cho em với
                              nếu bản 6.0 Dùng cái patch của mình nhé !
                              mPIC.zip

                              ( Nhà đang bị mất mạng , lúc có lúc không ... hơi 1 tý lại mất ... bực quá ! - Upload chưa đến 1MB mà mất 6 phút )
                              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                              Comment


                              • #30
                                My Files micro c for avr pic 89 full

                                Comment

                                Về tác giả

                                Collapse

                                KnowMore Tìm hiểu thêm về KnowMore

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X