atmega48.c

来自「CAN工业节点设计、CAN控制器为SJA1000.C源码」· C语言 代码 · 共 94 行

C
94
字号
#include <REGX52.h>
#include "xkcan_defs.h"
#include "atmega48.h"

void Update48 ( ubyte dat )
{
	ACC = dat;

	_48_OUT_CS = SELECTED;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_7;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_6;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_5;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_4;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_3;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_2;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_1;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;

	_48_MOSI = ACC_0;
	_48_OUT_CLK = 1;
	_48_OUT_CLK = 0;
	
	_48_OUT_CS = UNSELECTED;
	
}

ubyte Read48 ( void )
{
	ubyte dat;
	ACC = 0;

	_48_IN_CS = SELECTED;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_7 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_6 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_5 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_4 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_3 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_2 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_1 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CLK = 1;
	ACC_0 = _48_MISO;

	_48_IN_CLK = 0;
	_48_IN_CS = UNSELECTED;

	dat = ACC;
	return dat;
	
}

⌨️ 快捷键说明

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