📄 ads7843.h
字号:
#ifndef ADS7843_H_
#define ADS7843_H_
#include "def.h"
#include "option.h"
#include "44blib.h"
#include "44b.h"
#include "os_cpu.h"
#include "ucos_ii.h" /* uC/OS interface */
#include "target.h"
#include "os_cpu.h"
#define CS_ADS7843 ( 1<<6 )
#define ADS7843_PENIRQ ( 1<<11 )
#define CHX 0x90 //通道Y+的选择控制字 //0x94
#define CHY 0xD0 //通道X+的选择控制字 //0xD4
#define TP_DCLK(a) rPDATF=((rPDATF&~0x100)|((!a<<8)&0x100))
#define TP_CS(a) rPDATE=((rPDATE&~0x40)|((a<<6)&0x40))
#define TP_DIN(a) rPDATF=((rPDATF&~0x20)|((a<<5)&0x20))
/*
* read from ads7843's pin
*/
#define TP_DOUT ((rPDATF>>7) & 0x1)
#define TP_BUSY ((rPDATF>>6) & 0x1)
#define TP_IRQ ((rPDATF>>4) & 0x1)
class CAds7843
{
public:
CAds7843();
~CAds7843();
public:
BOOL InitSio();//初始化SIO
void SetPenNomal();//设置ADS7843中断检测使能
void SetPenDisable();//禁止ADS7843中断检测
void Server();//服务函数
void Start();//启动AD转换
S32 GetX();
S32 GetY();
BOOL GetAds( S32& ix, S32& iy );
private:
void Select();//选中ads7843
void DeSelect();//取消选中ads7843
public:
void Run( void* Id );
private:
BOOL bSioOpen;
U32 Ctrl;
volatile S32 x;
volatile S32 y;
volatile U32 iStep;
U8 cAdXHigh;
U8 cAdXLow;
U8 cAdYHigh;
U8 cAdYLow;
BOOL bADOK;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -