📄 torch.c
字号:
#include "44b.h"
#define S1_ON rPDATE&=~(0x1<<4)
#define S1_OFF rPDATE|=(0x1<<4)
#define S2_ON rPDATE&=~(0x1<<7)
#define S2_OFF rPDATE|=(0x1<<7)
#define S3_ON rPDATE|=(0x1<<6)
#define S3_OFF rPDATE&=~(0x1<<6)
#define S4_ON rPDATF|=(0x1<<7)
#define S4_OFF rPDATF&=~(0x1<<7)
#define S5_ON rPDATE&=~(0x1<<3)
#define S5_OFF rPDATE|=(0x1<<3)
void InitTorchPanel()
{
S5_OFF;
S3_OFF;
S2_OFF;
S1_OFF;
S4_OFF;
rPCONE&=0x3f;
rPCONE|=(0x1<<6)|(0x1<<8)|(0x1<<10)|(0x1<<12)|(0x1<<14);
rPCONF&=0xf8ffff;
rPCONF|=(0x1<<16);
rPUPE&=0x83;
rPUPF&=0x7f;
rPDATE&=~0x20;
S5_OFF;
S3_OFF;
S2_OFF;
S1_OFF;
S4_OFF;
}
Torch_Test()
{
int a0=0,a1=0;
int i;
S2_OFF;
S1_OFF;
S4_OFF;
S5_ON;
S3_ON;
for(i=0;i<2000;i++);
a0=Read_Adc(0);//get the initial adc value,this value should be very high as a pullup resister is attatched to vcc
if(a0<300) // torch panel have been pressed
{
S2_OFF;
S4_OFF;
S5_OFF;
S1_ON;
S3_ON;
for(i=0;i<200;i++);
a0=Read_Adc(0);//get x value
S1_OFF;
S3_OFF;
S5_OFF;
S2_ON;
S4_ON;
for(i=0;i<200;i++);
a1=Read_Adc(1);//get y value
printf("x,y OUTPUT : %4d %4d\n",a0,a1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -