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

📄 pmpslavereadbuffern.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:        PMPSlaveReadBufferN
 *
 * PreCondition:    None
 *
 * Input:           buffer(0..3)
 *
 * Output:          The value in selected buffer.
 *
 * Side Effects:    Reading PMDATA buffer clears status bit.
 *
 * Overview:        Reads the value in PMDATA register written by a master device.
 * 					
 * Note:            Use in SLAVE BUFFERED mode, MODE[1:0] = 00 and INCM[1:0]=11              
 *					or SLAVE ENHANCED mode, MODE[1:0] = 01.
                    If MODE[1:0]=00 and INCM[1:0]?01,then buf-(0).
 *****************************************************************************/
unsigned char PMPSlaveReadBufferN(BUFFER buf)
{

	WORD_VAL reg1, reg2;
	BYTE value;

	reg2.Val = PMDIN2;					// copy contents of input buffers PMDIN2
	reg1.Val = PMDIN1;					// copy contents of input buffers PMDIN1
	
	switch(buf)
	{
	case 0:
		value =reg1.v[0];				// get copy of PMDIN1[7:0]
		break;
	case 1:
		value = reg1.v[1];				// get copy of PMDIN1[15:8]
		break;
	case 2:
		value = reg2.v[0];				// get copy of PMDIN2[7:0]
		break;
	case 3:	
		value = reg2.v[1];				// get copy of PMDIN2[15:8]
		break;
	}

	return(value);						// return to caller
}

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

⌨️ 快捷键说明

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