资源简介

一款游戏手柄的原理图+软件源码。包括主板的原理图、蓝牙模块的原理图、软件源码。使用的IC为BK2423、M0516。仓底货,轻易不拿出来。

资源截图

代码片段和文件信息

#include “Config.h“
Adclayer Adc;
void ADC_GetDa(void)
{
ADC_SetChannelMask(0x6f);
ADC_POWER_ON;
ADC_START_CONV;
while((ADC->SR&1)==0);
Adc.adcval[0] = (ADC_GetConversionData(0)>>4);
Adc.adcval[1] = (ADC_GetConversionData(1)>>4);
Adc.adcval[2] = (ADC_GetConversionData(2)>>4);
Adc.adcval[3] = (ADC_GetConversionData(3)>>4);
Adc.adcval[4] = (ADC_GetConversionData(5)>>4);
Adc.adcval[5] = (ADC_GetConversionData(6)>>4);
}
void Init_ADC(void)
{
/* Select ADC Clock Source From 12Mhz*/
SYS_SelectIPClockSource_1(CLK_CLKSEL1_ADC_MASK CLK_CLKSEL1_ADC_HIRC); 
GCR->PA_L_MFP = PA0_MFP_ADC_CH0|PA1_MFP_ADC_CH1|PA2_MFP_ADC_CH2|PA3_MFP_ADC_CH3|PA5_MFP_ADC_CH5|PA6_MFP_ADC_CH6;
GPIOA->OFFD |= 0x006F0000;
ADC_Init(ADC_CR_SINGLE_END ADC_CR_ADMD_S_CYCLE 0 ADC_CR_REFSEL_AVDD);
}
static void VOLVK_Func_XY_L(void)
{
unsigned char xy;
x = Adc.adcval[0];
y = Adc.adcval[1];
    if((x>=0x60) && (x<=0x9f)) x=0x7f;
if((y>=0x60) && (y<=0x9f)) y=0x7f;
Hid.game_x=x;
Hid.game_y=y;
}
static void VOLVK_Func_zRz_r(void)
{
unsigned char xy;
x = Adc.adcval[2];
y = Adc.adcval[3];
    if((x>=0x60) && (x<=0x9f)) x=0x7f;
if((y>=0x60) && (y<=0x9f)) y=0x7f;
Hid.game_z=x;
Hid.game_rz=y;
}
static void Quene(unsigned char valunsigned char *bufunsigned char *lenunsigned char *pos)
{
unsigned char ij;
if(*len==50) {
for(i=0;i<50;i++){
if(val>=buf[i]) break;
}
*pos=i;
return;
}
if(val==0){
if(*len>1) *pos=*len-1;
else *pos=0;
return;
}
for(i=0;i<50;i++){
if(val>buf[i]) break;
else if(val==buf[i]){
*pos=i;
return;
}
}
*pos=i;
*len=*len+1;
//printf(“i=%d%d%x%x%x%x“i*lenbuf[0]buf[1]buf[2]buf[3]);
for(j=48;j>i;j--){
buf[j+1]=buf[j];
}
buf[i+1]=buf[i];
buf[i]=val;
//printf(“i=%d%d%x%x%x%x“i*lenbuf[0]buf[1]buf[2]buf[3]);
}
static void R2L2_Deal(void)
{
unsigned char xypos;
y = Adc.adcval[4];
x = Adc.adcval[5];
if(Hid.gcnt<30){
Hid.gcnt++;
return;
}
Quene(xHid.adc_l2&Hid.adc_l2cnt&pos);
if(Hid.adc_l2cnt>6){
if(pos>Hid.adc_l2cnt/2) Hid.game_key|=GAME_L2_KEY;
else Hid.game_key&=(~GAME_L2_KEY);
if(pos>Hid.adc_l2cnt*2/3) Hid.game_l2=0xff;
else if(pos else Hid.game_l2=pos*(255/Hid.adc_l2cnt);
}
Quene(yHid.adc_r2&Hid.adc_r2cnt&pos);
if(Hid.adc_r2cnt>6){
if(pos>Hid.adc_r2cnt/2) Hid.game_key|=GAME_R2_KEY;
else Hid.game_key&=(~GAME_R2_KEY);
if(pos>Hid.adc_r2cnt*2/3) Hid.game_r2=0xff;
else if(pos else Hid.game_r2=pos*(255/Hid.adc_r2cnt);
}
//printf(“xy:%x%x%x%x\n“xyHid.adc_l2cntHid.adc_r2cnt);
}
void Joystick_run(void)
{
VOLVK_Func_XY_L();
VOLVK_Func_zRz_r();
R2L2_Deal();
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2786  2014-08-07 14:23  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\Adc.c

     文件        140  2014-03-26 17:02  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\Adc.h

     文件      10724  2014-07-14 17:47  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\bma250.c

     文件        171  2014-04-30 17:41  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\bma250.h

     文件      52632  2014-08-26 14:18  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\config.h

     文件       1339  2014-08-26 14:12  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\fmc.c

     文件        110  2014-05-28 11:28  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\fmc.h

     文件       4760  2014-08-07 14:50  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\main.c

     文件     180540  2014-05-23 15:21  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\MotionGesture.c

     文件        917  2014-05-08 14:16  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\MotionGesture.h

     文件       7375  2014-05-13 09:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\mpu6050.c

     文件       7373  2014-05-13 09:18  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\mpu6050.c.bak

     文件        179  2014-05-03 17:08  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\mpu6050.h

     文件      18624  2014-08-14 14:19  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\rf.c

     文件        437  2014-04-21 16:57  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\rf.h

     文件       5810  2014-08-26 14:20  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\self.c

     文件      39481  2014-08-22 17:25  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\sys_app.c

     文件        611  2014-05-19 10:11  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\sys_app.h

     文件      32361  2014-07-30 14:30  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\Touch.c

     文件        898  2014-06-24 10:11  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\app\Touch.h

     文件       1239  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\arm_common_tables.h

     文件     255755  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\arm_math.h

     文件      32139  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cm0.h

     文件      39428  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cm0plus.h

     文件      98950  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cm3.h

     文件     108260  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cm4.h

     文件      21323  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cm4_simd.h

     文件      15924  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cmFunc.h

     文件      17305  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_cmInstr.h

     文件      40737  2013-10-01 16:24  一款游戏手柄的原理图+软件源码\bk2423+M0516软件包\CMSIS\Include\core_sc000.h

............此处省略140个文件信息

评论

共有 条评论