torch.c

来自「ARM44b0开发的蓝牙功能」· C语言 代码 · 共 90 行

C
90
字号
#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 + =
减小字号Ctrl + -
显示快捷键?