Thông báo

Collapse
No announcement yet.

I/O Ports with Peripheral Pin Select (PPS)

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

  • I/O Ports with Peripheral Pin Select (PPS)

    Hầu hết các chip dòng PIC24F hỗ trợ tính năng chọn chân ngoại vi (PPS) . Các PPS cấu thành các chân mà người dùng có thể remappable cho các đầu vào và đầu ra hoặc của một số kết nối ngoại vi. Người dùng có thể tùy ý thay đổi các chân chức năng như UART, SPI, External Interrupt ...tương ứng với các chân vào ra có ký hiệu "RPN" với "RP" chỉ định một ngoại vi có thể remappable và "N" là số của chân remappable... Nó rất hữu ích cho nhà thiết kế mạch và lập trình MCU.
    Cty TNHH Ứng Dụng Phát Triển Công Nghệ ECAPRO


  • #2
    Nguyên văn bởi herrtien Xem bài viết
    Hầu hết các chip dòng PIC24F hỗ trợ tính năng chọn chân ngoại vi (PPS) . Các PPS cấu thành các chân mà người dùng có thể remappable cho các đầu vào và đầu ra hoặc của một số kết nối ngoại vi. Người dùng có thể tùy ý thay đổi các chân chức năng như UART, SPI, External Interrupt ...tương ứng với các chân vào ra có ký hiệu "RPN" với "RP" chỉ định một ngoại vi có thể remappable và "N" là số của chân remappable... Nó rất hữu ích cho nhà thiết kế mạch và lập trình MCU.
    dsPIC33 cũng có các chân có thể lập trình chọn ngoại vi đc.

    Comment


    • #3
      Tài Liệu về PIC24F16

      Em đang phải làm đồ án sử dụng dòng PIC24FKA102, Tìm trên mạng thì toàn tài liệu bằng tiếng anh, trong khi trình độ tiếng anh của em mới chỉ ở mức trung bình. Vậy pác nào có tài liệu tiếng Việt về kon PIC24F16KA102 thì cho em xin nhé. Em đang dịch datasheet của kon này nhưng với tốc độ Rùa thế này thì có lẽ không thể kịp đồ án mất rồi. Mong các Pác giúp đỡ.
      Mail của em: zigbeedt2k9@gmail.com

      Comment


      • #4
        Chào các bác, em đang gặp phải vấn đề với chú pps này, em chỉ làm để test thôi, em thử với con dsPIC33FJ12MC202, với ngắt ngoài INT0 thì ko vấn đề gì, nhưng với ngắt ngoài INT1 và INT2 thì em không chọn được chân nối với 2 ngắt này, mặc dù em đã tham khảo code ở trên diễn đàn của Microchip.

        Đây là code của em, cứ mỗi khi có ngắt ngoài xảy ra thì thay đổi mức logic của chân A0 :

        Code:
        #include <p33FJ12MC202.h>
        #include <pps.h>
        	_FOSCSEL(FNOSC_FRC)		// Su dung thach anh noi
        	_FGS(GSS_OFF&GWRP_OFF)	// Tat che do bao ve code
        	_FWDT(FWDTEN_OFF)		// Khong dung watchdog
        	_FPOR(PWMPIN_ON&FPWRT_PWR1)	// Cho phep chan PWM, Cam Power on reset
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        void interrupt_init();
        void _ISR _INT0Interrupt(void);
        void _ISR _INT1Interrupt(void);
        void _ISR _INT2Interrupt(void);
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        void main(){
        	TRISB = 0;
        	LATB = 0;
        	
        	TRISA = 0;
        	TRISB = 0xFFFF;
        	interrupt_init();	
        	while(1);
        }
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        void interrupt_init(){
        	PPSUnLock;	// Unlock
        	_INT1R = 0;		// Chan RP0 la chan ngat ngoai 1
        	_INT2R = 3;		// Chan RP3 la chan ngat ngoai 2
        	PPSLock;	// Lock
        
        	_INT0IE = 1;	// Cho phep ngat ngoai 0
        	_INT1IE = 1;	// Cho phep ngat ngoai 1
        	_INT2IE = 1;	// Cho phep ngat ngoai 2
        
        
        }
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        void _ISR _INT0Interrupt(void){
        	_LATA0 = !_LATA0;
        	IFS0 = 0;
        }  
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        void _ISR _INT1Interrupt(void){
        	_LATA0 = !_LATA0;
        	IFS0 = 0;
        }
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        void _ISR _INT2Interrupt(void){
        	_LATA0 = !_LATA0;
        	IFS0 = 0;
        }
        Các bác xem giúp em xem chương trình trên có lỗi gì không mà em mô phỏng trên proteus không thấy chạy ! Cám ơn các bác nhiều !

        Comment

        Về tác giả

        Collapse

        herrtien Cty TNHH ứng dụng phát triển công nghệ ECAPRO Tìm hiểu thêm về herrtien

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

        Collapse

        Đang tải...
        X