📄 att7028.c
字号:
// ATT7028底层驱动模块
// 编制: jinys
// 时间: 2004-08-19 v1.0
#include "..\..\a\main\main.h"
#include "ATT7028.h"
union Long_byte_st
{
tLong ul;
tByte uc[4];
};
#define DELAY() _nop_(), _nop_(), _nop_();
//-----------私有参数------------------------------------------------------------//
#define CS_ATT7028 AD_CS
#define SCK_ATT7028 AD_SCLK
#define SI_ATT7028 AD_DIN
#define SO_ATT7028 AD_DOUT
#define RST_ATT7028 AD_RST
#define SIG_ATT7028 AD_SIG
/******************************
** 原型: ATT7028_Init() **
** 功能: 初始化7028 **
** 入口: 无 **
** 出口: 无 **
******************************/
void ATT7028_Init(void)
{
RST_ATT7028 = 0;
CS_ATT7028 = 1;
SCK_ATT7028 = 0;
SI_ATT7028 = 1;
SO_ATT7028 = 1;
RST_ATT7028 = 1;
}
/*********************************
** 原型: ATT7028_rCmd() **
** 功能: 从7028读取一个数据 **
** 入口: uCmd(命令字) **
** 出口: 读回的数据 **
*********************************/
tLong ATT7028_rCmd(tByte uCmd)
{
tByte ucA;
tLong data uData = 0;
ucA = 8;
CS_ATT7028 = 0;
EA_OFF();
do
{
SI_ATT7028 = (bit)(uCmd & 0x80);
uCmd <<= 1;
SCK_ATT7028 = 1;
DELAY();
SCK_ATT7028 = 0;
DELAY();
}while(--ucA);
// delay 3us
DELAY();
ucA = 24;
do
{
uData = _lrol_(uData, 1);
uData |= SO_ATT7028;
SCK_ATT7028 = 1;
DELAY();
SCK_ATT7028 = 0;
DELAY();
}while(--ucA);
CS_ATT7028 = 1;
EA_ON();
return(uData);
}
/*********************************
** 原型: ATT7028_wCmd() **
** 功能: 向7028写一个数据 **
** 入口: uCmd(命令字) **
** ulData(数据) **
** 出口: 无 **
*********************************/
void ATT7028_wCmd(tByte uCmd, tLong ulData)
{
tByte ucA, ucB;
ucB = mCMD_W + uCmd;
CS_ATT7028 = 0;
ucA = 8;
EA_OFF();
do
{
SCK_ATT7028 = 1;
DELAY();
SI_ATT7028 = (bit)(ucB & 0x80);
ucB <<= 1;
SCK_ATT7028 = 0;
DELAY();
}while(--ucA);
ucA = 24;
do
{
SCK_ATT7028 = 1;
DELAY();
SI_ATT7028 = (bit)(ulData & 0x800000);
ulData = _lrol_(ulData , 1);
SCK_ATT7028 = 0;
DELAY();
}while(--ucA);
CS_ATT7028 = 1;
EA_ON();
}
/*------------------------------------------------------------------*-
---- END OF FILE -------------------------------------------------
-*------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -