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

📄 pmpslavewritebuffers.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:        PMPSlaveWriteBuffers
 *
 * PreCondition:    None
 *
 * Input:           BYTE pointer
 *
 * Output:          Returns the state of PMSTAT.OBE prior to the write operation.
 *
 * Side Effects:    None
 *
 * Overview:        Copies 4 bytes, addressed by the pointer/ref argument, into
 *			the corresponding output registers. Byte[0] -> OUT1[7:0],
 *			byte[1] -> OUT1[15:8], ... etc. If entire buffer is empty,
 *			(IBF = 0) function returns TRUE, else the bytes are not
 *			copied and returns FALSE.
 * 					
 * Note:            Use in SLAVE BUFFERED mode, MODE[1:0] = 00
 *			or SLAVE ENHANCED mode, MODE[1:0] = 01  and INCM[1:0]=11              
 *****************************************************************************/
BOOL PMPSlaveWriteBuffers(BYTE* ref)
{
	WORD_VAL reg1, reg2;
	BOOL status;
	
	if(PMSTATbits.OBE)
		status = TRUE;

	reg1.v[0] = *ref++;
	reg1.v[1] = *ref++;
	reg2.v[0] = *ref++;
	reg2.v[1] = *ref;

	PMDOUT1 = reg1.Val;
	PMDOUT2 = reg2.Val;
	
	return(status);
}

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

⌨️ 快捷键说明

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