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

📄 touch.c

📁 STM32驱动nrf24l01
💻 C
字号:
#include "touch.h"
#include "custom.h" 
//读取一次X,Y值
//读到的X,Y坐标值必须都大于100
//成功返回1,不成功返回0
//读数限制在100~3800之间.

unsigned int X,Y;

void start_spi(void)   
{ 	  
	//TCLK_SET(0);   
	//TCS_SET(1); 	 
	//TDIN_SET(1);  
	//sTCLK_SET(1);
	//SPI_Flash_SendByte(1);  
	TCS_SET(0);   
}

u8 read_once(void)
{	
	unsigned int a,b;
	start_spi();//启动SPI 
	delay_u(3);	
	SPI_Flash_SendByte(SPI1,CMD_RDY); 	//	FLASH操作基本函数,发送一个字节
	delay_u(3);	
	a=SPI_Flash_ReadByte(SPI1,0);  	//flash操作基本函数,读一个字节
	a=a<<8;
	a|=SPI_Flash_ReadByte(SPI1,0);	//flash操作基本函数,读一个字节
	a>>=3; 
	X=a;	  
  SPI_Flash_SendByte(SPI1,CMD_RDX);  //	FLASH操作基本函数,发送一个字节
	delay_u(3);	
	b=SPI_Flash_ReadByte(SPI1,0);	//flash操作基本函数,读一个字节
	b=b<<8;
	b|=SPI_Flash_ReadByte(SPI1,0);	//flash操作基本函数,读一个字节
	b>>=3; 
	Y=b;   
	TCS_SET(1); 
	if(X>100&&Y>100&&X<4000&&Y<4000)
	{
	     return 1;//读数成功(范围限制)
	}
	else{ return 0;			                 //读数失败
	}		//=1 
}

void Read_Ads7843(void)
{
	uint dataBuff[2][10];
	uchar a = 1;
	uchar t = 0;
	unsigned long j,k;
	while(a && !PEN)
	{
		if(read_once() == 1)
		{
			dataBuff[0][t] = X;
			dataBuff[1][t] = Y;
			t++;
			if(t == 10)
				a = 0;
		}
		else
		{}
	}
	if(10 == t)
	{
		for(t = 0;t < 10;t++)
		{
			j += dataBuff[0][t];
			k += dataBuff[1][t];	
		}
		X = j / 10;
		Y = k / 10;
	}
}

⌨️ 快捷键说明

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