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

📄 dm_tsp_adt7516.c

📁 采用美国adi公司的bf系列
💻 C
字号:
/*************************************************************************** 
文件名称: dm_tsp_adt7516.c
作者: Andy
版本: 0.1 
创建时间 : 2007-04 
描述: 
	文件实现了ADT7516的底层读写配置功能	
修改历史: 
****************************************************************************/ 
#include "dm_bf5xx.h"
#include "dm_types.h"

static uint8_t Xdat[2],Ydat[2];
/****************************************************************************
* 名称 : ADS_SPI_Init
* 功能 : 初始化SPI 控制器 设置波特率 发送模式 允许SPI控制器
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void ADS_SPI_Init(void)
{
	*pFIO_FLAG_S = PF2;
	SPIinit();
	SPIMenable();
	SPIMODE_TX();
}
/****************************************************************************
* 名称 : ADS_SEND
* 功能 : 向ADS7843 /AD7843 发送数据
* 入口参数 :dat 发送到ADS7843 /AD7843 数据
* 出口参数 :无
****************************************************************************/
void ADS_SEND(uint8_t dat)
{	
	SPIMenable();
	SPIMODE_TX();
	SPIsend(dat);
	udelay(0x7fff);
	SPIdisable();
	udelay(0x7fff);
}
/****************************************************************************
* 名称 : ADS_RX
* 功能 : X 坐标接收函数
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void ADS_RX(void)
{
	SPIMenable();
	SPIMODE_RX();
	if(*pSPI_STAT&RXS)
	{
		Xdat[0] = *pSPI_RDBR;
	}
	Xdat[1] = SPIReadByte();
	udelay(0x7fff);
	udelay(0x7fff);
	SPIdisable();
}
/****************************************************************************
* 名称 : ADS_RY
* 功能 : Y 坐标接收函数
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void ADS_RY(void)
{
	SPIMenable();
	SPIMODE_RX();
	if(*pSPI_STAT&RXS)
	{
		Ydat[0] = *pSPI_RDBR;
	}
	Ydat[1] = SPIReadByte();
	udelay(0x7fff);
	udelay(0x7fff);
	SPIdisable();
}
/****************************************************************************
* 名称 : ADS_INT_Disable
* 功能 : ADS7843 /AD7843 中断禁止
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void ADS_INT_Disable(void)
{
	ADS_SEND(0x19);
}
/****************************************************************************
* 名称 : ADS_INT_Enable
* 功能 : ADS7843 /AD7843 中断允许
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void ADS_INT_Enable(void)
{
	ADS_SEND(0x18);
}
/****************************************************************************
* 名称 : ADS_READ
* 功能 : 读取坐标
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void ADS_READ(void)
{
	ADS_INT_Disable();
	ADS_SEND(0x98);
	udelay(0x7fff);
	ADS_RY();
	udelay(0x7fff);
	ADS_SEND(0xd8);
	udelay(0x7fff);
	ADS_RX(); 
	printf("\nXdata is %d\r\n",Xdat[0] );
	printf("Ydata is %d\r\n",Ydat[0] );
	ADS_INT_Enable();//开中断
}

⌨️ 快捷键说明

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