configinti2c3.c

来自「Mplab C30编译器」· C语言 代码 · 共 65 行

C
65
字号
#if defined(__PIC24F__)
#include <p24Fxxxx.h>
#endif
#include <i2c.h>

/*********************************************************************
Function Prototype : ConfigIntI2C3(unsigned int config) 

Include            : i2c.h

Description        : This function configures the I2C Interrupt. 

Arguments          : config - I2C interrupt priority and enable/disable 
                     information as defined below:
                     Master I2C Interrupt Enable/Disable
                       MI2C_INT_ON  
                       MI2C_INT_OFF
                     I2C slave Interrupt enable/disable
                       SI2C_INT_ON
                       SI2C_INT_OFF
                     I2C master Interrupt priority
                       MI2C_INT_PRI_7					
					   MI2C_INT_PRI_6					
					   MI2C_INT_PRI_5					
					   MI2C_INT_PRI_4					
					   MI2C_INT_PRI_3					
					   MI2C_INT_PRI_2					
					   MI2C_INT_PRI_1					
					   MI2C_INT_PRI_0
					   MI2C_SRC_DIS 					
					 I2C slave Interrupt priority					
					   SI2C_INT_PRI_7					
					   SI2C_INT_PRI_6					
					   SI2C_INT_PRI_5					
					   SI2C_INT_PRI_4					
					   SI2C_INT_PRI_3					
					   SI2C_INT_PRI_2					
					   SI2C_INT_PRI_1					
					   SI2C_INT_PRI_0
					   SI2C_SRC_DIS	
					   				 
Return Value       : None 

Remarks            : This function clears the Interrupt Flag bits, 
                     sets the interrupt priorities of master and slave
                     and enables/disables the interrupt.
*********************************************************************/
#ifdef _I2C_V2_3

void ConfigIntI2C3(unsigned int config)
{
     IFS5bits.SI2C3IF = 0;                        /* clear the MI2C & SI2C Interrupts */
     IFS5bits.MI2C3IF = 0;

     IPC21bits.SI2C3P = (config & 0x0007);         /* set the SI2C priority */
     IPC21bits.MI2C3P = (config & 0x0070) >> 4;    /* set the MI2C priority */

     IEC5bits.SI2C3IE = (config & 0x0008)>> 3;     /* enable/disable the SI2C Interrupt */
     IEC5bits.MI2C3IE = (config & 0x0080) >> 7;    /* enable/disable the MI2C Interrupt */
}

#else
#warning "Does not build on this target"
#endif

⌨️ 快捷键说明

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