⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmpopen.c

📁 Mplab C30编译器
💻 C
字号:
#if defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24hxxxx.h>
#endif

#include "pmp.h"

#ifdef _PPI_PMP_V1

/******************************************************************************
 * Function:        PMPOpen
 *
 * PreCondition:    None
 *
 * Input:           control -- Control register settings
 *                  mode    -- Parallel port mode register setting
 *                  port    -- Parallel port enable register setting
 *                  addrs   -- Parrrel port address rgister content
 *                  interrupt -- intereupt setting for PMP
 *                              bit 0 -  bit 2 --> priority setting
 *                                       bit 3 --> Interrupt Enable/Disable
 *                              bit 4 -  bit 7 --> unsused
 *
 * Output:          None
 *
 * Side Effects:    Configures the PMP module as per the input data
 *
 * Overview:        Provides method for setting PMP registers using bit masks
 *                  provided in this header file.
 * Note:            
 *****************************************************************************/
void PMPOpen(UINT control, UINT mode, UINT port, UINT addrs, BYTE interrupt)
{
    PMSTAT = 0;
    IEC2bits.PMPIE = 0;
    IFS2bits.PMPIF = 0;
    IPC11bits.PMPIP = 0;
    PMCON = control;
    PMMODE = mode;
    PMAEN = port;
    PMADDR = addrs;
    
    IPC11bits.PMPIP = interrupt & 0x07;     // mask just the pmp priority bits  
    IEC2bits.PMPIE = (interrupt & 0x08)>>3;         // mask just the pmp interrupt enable bit
    PMCONbits.PMPEN = 1;        // last, enable the module
}



/* end of file */
#else
#warning "Does not build on this target"
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -