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

📄 ads7843.c

📁 hfrk44b0_uCGUI,可以跑在hfrk44b0开发板上,支持4级以及16级灰度,已经测试通过,直接下载到开发板上就能用.
💻 C
字号:
#include "44b.h"
#include "44blib.h"
#include "def.h"
#include "ads7843.h"


int U16 RD_AD(int ch)
{
    int i;
    static int prevCh=-1;

    if(prevCh!=ch)
    {
    	rADCCON=0x0|(ch<<2);	//setup channel.
    	for(i=0;i<150;i++);	//min. 15us
    }
    rADCCON=0x1|(ch<<2);	//Start A/D conversion
    while(rADCCON &0x1);	//To avoid The first FLAG error case.
				//(The START bit is cleared in one ADC clock.)
    while(!(rADCCON & 0x40));
    for(i=0;i<rADCPSR;i++); 	//To avoid The second FLAG error case
    prevCh=ch;
    return rADCDAT;
}


int Read_X(void) { 
	int i;
	//TSPX(GPE3) TSMX(GPE4)  TSPY(GPE6) TSMY(GPE7) 
        //  0		1	       1          0
	rPDATE=rPDATE&(~(0x01<<7))|(0x01<<6);
    rPDATE=rPDATE&(~(0x01<<3))|(0x01<<4);
//	while(TP_BUSY);
	for(i=0;i<5;i++);
	i=RD_AD(1);
	return i;   
}

int Read_Y(void) { 
	int i;
	
    rPDATE=rPDATE&(~(0x01<<6))|(0x01<<7);
    rPDATE=rPDATE&(~(0x01<<4))|(0x01<<3);
	
//	while(TP_BUSY);
	for(i=0;i<5;i++);
	i=RD_AD(0);
	return i;    
}
/******************************************************************************
 *	get A/D xy
 */
void TP_GetAdXY(int *x,int *y) {
	int adx,ady;
	
	adx=Read_X();
	ady=Read_Y();
	
	*x=adx;
	*y=ady;
}

⌨️ 快捷键说明

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