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

        • bqviet
          Trả lời cho Đấu tắt điện cho máy tính bảng
          bởi bqviet
          Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
          06-12-2025, 17:17
        • nguyendinhvan
          Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
          bởi nguyendinhvan
          Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
          05-12-2025, 19:59
        • afrendly
          Trả lời cho Đấu tắt điện cho máy tính bảng
          bởi afrendly
          Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
          04-12-2025, 01:27
        • nick22
          Trả lời cho Máy điện châm ?
          bởi nick22
          Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
          01-12-2025, 13:23
        Đang tải...
        X