ade7753_430.c

来自「单相多功能仪表IC--ADE7753能量芯片的接口部分源代码」· C语言 代码 · 共 72 行

C
72
字号
#include "msp430x14x1.h"
#include "ade7753_430.h"

void SpiSentByte(uchar bb)
{
	uchar i;
	for(i=0;i<8;i++){
		SCLK_1;
		if((bb&0x80)==0) MOSI_0;
		else MOSI_1;
		bb<<=1;	
		_NOP();
		_NOP();
		SCLK_0;
	}
}	

uchar SpiReceiveByte(void)
{
	uchar i,bb=0;
	for(i=0;i<8;i++){
		SCLK_1;
		bb<<=1;
		MISO_1;
		_NOP();
		_NOP();
		if(MISO_IN!=0) bb|=0x01;
		SCLK_0;
	}
	return bb;
}

void Read7753(uchar reg,uchar *pnt,uchar cnt)
{
	uchar i;
	SpiSentByte(reg);
	for(i=0;i<8;i++);
	for(i=0;i<cnt;i++) *pnt++=SpiReceiveByte();
}

void Write7753(uchar reg,uchar *pnt,uchar cnt)	
{
	uchar i;
	SpiSentByte(reg|0x80);
	for(i=0;i<cnt;i++) SpiSentByte(*pnt++);
}

void Enable7753(uchar chip)
{	
	SCLK_0;
	switch(chip){
	case 0: ACS_0;break;
	case 1: BCS_0;break;
	case 2: CCS_0;break;
	default: NCS_0;break;
	}	
}	

void Disable7753(void)
{
	ACS_1;
	BCS_1;
	CCS_1;
	NCS_1;
}
	



	

⌨️ 快捷键说明

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